MDX 是一种在 Markdown 基础上扩展支持 JSX 的文件格式,常用于文档站点(如 Docusaurus、Next.js 等)。由于其特殊性,普通用户可能不清楚如何将其转换为更通用的格式(如 PDF、Word 或 HTML)。
一、什么是 MDX 文件?
MDX 允许你在 Markdown 中直接嵌入 React 组件,非常适合开发者编写交互式文档。但这也意味着它不能被普通文本编辑器或办公软件直接识别。
二、常见转换方法
- 转换为 HTML:使用构建工具(如 Vite、Webpack)配合 @mdx-js/rollup 或 @mdx-js/loader 渲染为静态 HTML。
- 转换为 PDF:先转为 HTML,再用浏览器“打印为 PDF”功能,或使用 Puppeteer 自动化生成。
- 转换为 Word (DOCX):可通过 Pandoc 工具链(需先转为 Markdown 或 HTML)间接实现。
- 在线转换工具:目前尚无主流在线工具直接支持 MDX,建议先移除 JSX 部分转为标准 Markdown 再处理。
三、推荐操作流程
- 备份原始 MDX 文件。
- 手动或脚本移除 JSX 组件代码,保留纯 Markdown 内容。
- 使用 Pandoc 转换为 DOCX 或 PDF:
pandoc input.md -o output.docx - 如需保留样式,建议通过本地开发服务器渲染为 HTML 后导出。
四、注意事项
MDX 中的动态组件无法在 Word 或 PDF 中运行,转换后仅保留静态内容。若文档高度依赖交互功能,建议以网页形式发布而非转换。