markdown-component-loader将Markdown转为React组件

Markdown 的文档变组件这事,其实早就有人搞了,但markdown-component-loader做得还挺干净的,配合 React 用起来蛮顺手。它能把.md 文件直接转成无状态的 React 组件,响应快,代码结构也清晰,适合做那种带交互的文档站或组件库文档。

安装也简单,yarn add markdown-component-loadernpm install --save markdown-component-loader,配好Webpack 和 Babel就能直接用。Webpack 那边要加个 loader 配置,基本照文档贴代码就行,没啥坑。

你可以在 Markdown 里直接嵌React 组件,比如写个按钮组件展示交互,或者传个 prop 实时变 UI,效果挺直观。比起写死的文档,动态组件文档更贴合现代需求。

适合那种写文档又想展示真实组件的场景,比如设计系统、组件库、或内部开发手册。有点像 Vue 生态的 vue-markdown-loadervue-md-loader,但这个是为React量身定做的。

如果你项目本身用的是React + Webpack,而且文档比较多,想整合在一起展示,那这个 loader 可以考虑上。顺带提醒一句,记得 Markdown 里别写太花哨的语法,组件解析时会冲突。

zip
markdown-component-loader-develop.zip 预估大小:80个文件
folder
markdown-component-loader-develop 文件夹
file
.gitignore 80B
file
README.md 9KB
folder
.github 文件夹
folder
workflows 文件夹
file
node.js.yml 533B
folder
docs 文件夹
file
site.js.map 51KB
file
repl.js.LICENSE.txt 602B
file
site.js 20KB
file
site.css.map 4KB
file
shared-repl-index.js.js 54KB
file
d1dab017443564b1dff8440783fbddb6.svg 772B
file
shared-repl-index.js.js.LICENSE.txt 205B
folder
0.8.0 文件夹
file
app.css.map 84B
file
app.css 2KB
file
1e7ea3e8ac242d69c669bb535d4bdcf1.svg 858B
file
app.js 321KB
file
repl.css.map 85B
file
a5a1086ede729f7cef67ad849ec9c985.svg 12KB
file
app.js.map 2.45MB
file
repl.js.map 6.39MB
file
index.html 375B
file
repl.css 974B
file
fe46ca0e3ce2350d930eaa2581cca071.png 48KB
file
repl.html 2KB
file
repl.js 1.31MB
file
shared-site~repl-react-dom.production.min.js.js.LICENSE.txt 247B
file
site.css 2KB
file
shared-site~repl-react-dom.production.min.js.js 114KB
file
shared-repl-index.js.js.map 225KB
file
site.js.LICENSE.txt 542B
file
shared-site~repl-react-dom.production.min.js.js.map 273KB
file
vendors~repl~site.js 127KB
file
repl.css.map 14KB
file
10505e11e3e9a645e3b5c46dbf1e1f28.svg 12KB
file
60450d0f52a5da70f663b02f6dd1e8f5.svg 12KB
file
repl.js.map 3.21MB
file
vendors~repl.js 1.33MB
file
index.html 362B
file
de93a212d8b5b2c865e02a9c7b2f678c.png 48KB
file
repl.css 9KB
file
vendors~repl.css 9KB
file
33783f7db706cb93c0530819d2b29c10.svg 859B
file
repl.html 502B
file
repl.js 1.3MB
file
4d81e8f3539a8f0fa10785fab55f216a.png 134KB
folder
app 文件夹
file
shared.css 790B
file
index.css 2KB
file
Homepage.mdx 2KB
file
.eslintrc.yml 21B
file
index.js 194B
folder
images 文件夹
file
repl-backdrop.png 134KB
file
github-logo.svg 859B
file
logo.svg 12KB
file
repl.css 4KB
file
repl.js 3KB
file
.eslintrc.yml 1KB
file
package.json 3KB
folder
src 文件夹
folder
__mocks__ 文件夹
file
foo.js 22B
folder
formatters 文件夹
file
static.js 135B
file
js-escape.js 166B
file
import.js 116B
file
module.js 1KB
folder
__fixtures__ 文件夹
file
components.js 4KB
file
jsx-friendly-markdown-it.js 977B
file
convert.js 8KB
folder
__snapshots__ 文件夹
file
convert.spec.js.snap 443KB
file
index.spec.js.snap 460B
file
index.spec.js 2KB
file
index.js 359B
file
string-replacement-cache.js 1KB
folder
images 文件夹
file
logo.svg 85B
file
convert.spec.js 6KB
file
lowercase-hash.js 230B
file
renovate.json 41B
file
LICENSE.md 1KB
file
.eslintignore 18B
file
.npmignore 155B
file
.travis.yml 155B
file
webpack.config.js 3KB
file
yarn.lock 450KB
folder
templates 文件夹
file
index.html 258B
file
repl.html 356B
...
zip 文件大小:5.29MB