引入fumadocs后@mdx-js/mdx出现micromark导出路径错误求助
问题:添加fumadocs后MDX依赖micromark出现导出路径错误
错误提示
Package path ./codes.js is not exported from /Users/bigsexy/Desktop/..../micromark-util-symbol (see exports field in /.../micromark-util-symbol/package.json
micromark-util-symbol的exports配置
"exports": { "types": "./dev/index.d.ts", "development": "./dev/index.js", "default": "./index.js" }
问题详情
这个错误由@mdx-js的依赖包micromark-util-sanitize-uri引发:该包根目录的index.js并未引入import {codes} from 'micromark-util-symbol/codes.js',但它dev目录下的index.js却引入了这个不存在的导出路径。我猜测这和process.env.NODE_ENV变量有关,但这个包应用广泛且无相关公开问题,想请教为何会加载dev目录的文件?
排查解决方向
- 先确认项目构建/运行时的
process.env.NODE_ENV是否被设为development:micromark的exports配置里明确把development条件映射到dev目录的文件,只要环境变量处于开发模式,模块解析器就会优先加载这个入口。 - 检查fumadocs或项目配置是否强制启用开发模式的模块解析:有些框架或工具会在引入特定依赖时,强制使用包的开发版本,比如webpack的
resolve.mainFields、vite的相关配置,可能不小心触发了这个逻辑。 - 排查依赖版本冲突:虽然micromark本身没公开这个问题,但fumadocs和@mdx-js/mdx的依赖版本可能不匹配,导致拉取了有问题的micromark子包版本。建议删除
node_modules和锁文件(package-lock.json/yarn.lock)后重新安装,确保所有依赖版本一致。 - 检查自定义模块解析规则:看看项目里的webpack、vite等配置中,有没有修改
exports条件的优先级,或者添加了路径别名导致解析路径出错。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

