MDX 是一种将 Markdown 与 JSX(React 组件)结合的文件格式,广泛用于文档站点、博客系统和组件库说明中。它让你在写 Markdown 的同时,直接嵌入可交互的 React 组件。
一个典型的 MDX 文件既包含普通 Markdown 内容,也包含 JSX 元素:
# 欢迎使用 MDX
这是一个普通的段落。
<Button variant="primary">点击我</Button>
你还可以导入自定义组件:
import MyChart from './MyChart';
<MyChart data={data} />
以 Next.js 为例,安装依赖:
npm install @next/mdx @mdx-js/react
配置 next.config.js 后,即可将 .mdx 文件当作 React 组件导入使用。
MDX 不是纯 Markdown,不能被所有 Markdown 解析器识别。必须在支持 MDX 的环境中运行,否则 JSX 部分会报错或被忽略。