json2md浏览器端使用教程:dist构建产物客户端生成Markdown完整指南
【免费下载链接】json2md:pushpin: A JSON to Markdown converter.项目地址: https://gitcode.com/gh_mirrors/js/json2md
json2md是一个轻量级的 JSON 转 Markdown 转换器,除了常见的 Node.js 环境,它同样支持浏览器端使用:只需引用dist/json2md.min.js这个构建产物,就能在客户端把 JSON 数据实时生成 Markdown 文本。本文将带你快速上手 json2md 浏览器端调用方法、支持的元素类型以及async异步用法,零基础也能轻松学会。
为什么要在浏览器端使用 json2md?🤔
大多数工具只在 Node.js 中可用,而 json2md 官方明确说明:
如果你想在客户端使用它,这也是可行的。请查看 dist 目录。(README.md)
这在以下场景中非常实用:
- 🖥️ 纯前端页面需要动态渲染文档(如后台管理系统的文档预览)
- 📊 根据接口返回的 JSON 数据,实时生成 Markdown 表格或说明文档
- ⚡ 离线或内网环境,不依赖 Node.js 运行时
第一步:找到并使用 dist 构建产物
项目根目录下的 dist/json2md.min.js 就是专为浏览器准备的压缩构建文件,只有约 3KB,加载零压力。
它是一个标准的 UMD 模块(源码见 lib/index.js),加载方式如下:
<script src="dist/json2md.min.js"></script> <script> // 加载成功后,全局即可使用 window.json2md console.log(json2md({ h1: "Hello json2md" })) // => # Hello json2md </script>💡小技巧:如果页面加载后
window.json2md是undefined,先检查<script>标签的src路径是否正确、文件是否 404。
第二步:浏览器中调用 json2md 生成 Markdown 的最快方法
API 非常简单:json2md(data),传入一个 JSON 对象或数组,返回 Markdown 字符串。
输入(JSON):
json2md([ { h1: "JSON To Markdown" }, { blockquote: "A JSON to Markdown converter." }, { h2: "Features" }, { ul: ["Easy to use", "You can programmatically generate Markdown content"] } ])输出(Markdown):
# JSON To Markdown > A JSON to Markdown converter. ## Features - Easy to use - You can programmatically generate Markdown content完整的示例代码可以参考 example/index.js,把它放到浏览器控制台里跑一遍,效果完全一致。
json2md 浏览器版支持哪些 Markdown 元素?📝
注意:浏览器构建产物与 npm 完整版的元素支持略有差异。dist 版本内置了以下转换器(对照源码 lib/converters.js):
| 类型 | 元素 | 写法示例 | 生成效果 |
|---|---|---|---|
h1~h6 | 一级到六级标题 | { h1: "标题" } | # 标题 |
p | 段落 | { p: "正文" } | 正文 |
blockquote | 引用 | { blockquote: "引用" } | > 引用 |
ul | 无序列表 | { ul: ["a", "b"] } | - a |
ol | 有序列表 | { ol: ["a", "b"] } | 1. a |
img | 图片 | { img: { title, source, alt } } | alt |
code | 代码块 | { code: { language, content } } | 围栏代码块 |
table | 表格 | { table: { headers, rows } } | Markdown 表格 |
⚠️注意:link(链接)、hr(分割线)、taskLists(任务列表)这几个元素在浏览器版构建产物中未包含,如果你需要它们,建议走 npm 安装方式或自行更新 dist 文件。
实战:在浏览器端用 json2md 生成数据表格 📊
表格是浏览器端最典型的应用。dist 版同样支持aligns(对齐方式)和pretty(自动列宽对齐),例如:
json2md({ table: { headers: ["姓名", "得分"], rows: [["张三", 92], ["李四", 88]], aligns: ["left", "right"] } })生成结果:
| 姓名 | 得分 | | :--- | ---: | | 张三 | 92 | | 李四 | 88 |把接口返回的 JSON 数组稍作映射成rows,就能一行代码渲染出漂亮的表格,非常适合做前端数据报表页。
进阶:浏览器端使用 async 异步版本 ⏱️
如果你的转换逻辑需要异步(比如自定义转换器里要请求数据),可以使用json2md.async,它返回 Promise(源码见 lib/index.js 附近):
json2md.async({ h1: "Async 标题" }).then(function (md) { document.getElementById("content").innerText = md })参数与同步版完全一致:data为输入数据,prefix为每行前缀,更多细节可查阅 DOCUMENTATION.md。
常见问题 FAQ ❓
Q1:页面报错json2md is not defined?确认已正确引入 dist/json2md.min.js,且该<script>在你的调用代码之前执行。
Q2:为什么link、hr转不出来?这些转换器不在当前 dist 构建产物中。可查阅 test/index.js 了解各元素的完整输入输出预期,再决定使用 npm 版或重新构建 dist。
Q3:npm 安装方式是什么?如果你也在 Node 环境使用:npm install --save json2md,两个环境 API 完全一致。
总结
- 📦 浏览器端核心就是引用 dist/json2md.min.js 一个文件
- 🔧 API 极简:
json2md(data)同步转换,json2md.async(data)异步转换 - 📝 支持标题、段落、引用、列表、图片、代码块、表格等常用元素
- 🧩 自定义类型可通过扩展
json2md.converters对象实现
现在就可以打开一个 HTML 文件,动手体验 json2md 在浏览器中生成 Markdown 的丝滑体验吧!🚀
【免费下载链接】json2md:pushpin: A JSON to Markdown converter.项目地址: https://gitcode.com/gh_mirrors/js/json2md
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考