使用pnpm初始化最新版Vitepress项目启动报错求助
解决Vitepress启动时ESM加载错误的方案
这个错误源于最新版Vitepress是纯ESM(ECMAScript模块)包,但你的项目当前被Node.js识别为CommonJS模块环境,导致用require加载ESM模块时触发兼容性冲突。
以下是具体解决步骤:
修改配置文件后缀为ESM格式
将docs/.vitepress/config.js重命名为docs/.vitepress/config.mjs,Node.js会自动将该文件识别为ESM模块,适配Vitepress的加载要求。或者在项目根目录声明ESM环境
在项目根目录的package.json中添加"type": "module"字段:{ "type": "module", // 其他原有配置字段... }此设置会让所有
.js后缀的文件默认以ESM模块方式解析。若项目中存在CommonJS格式的文件,需将其后缀改为.cjs以保持兼容。重新启动项目
完成上述修改后,执行pnpm run docs:dev即可正常启动服务。
注意:如果选择添加"type": "module",项目中所有使用require()的导入代码需替换为import语法,module.exports需替换为export相关语法,确保模块格式统一。
内容的提问来源于stack exchange,提问作者CoolPlayLin
相关产品推荐
相关产品推荐

