报错信息
✘ [ERROR] "vitepress" resolved to an ESM file. ESM file cannot be loaded by require
. See https://vite.dev/guide/troubleshooting.html#this-package-is-esm-only for more details. [plugin externalize-deps]
参考文档描述
https://vite.dev/guide/troubleshooting.html#this-package-is-esm-only
如果 Node.js <=22, ESM files 默认不能被 require
加载。
使用 --experimental-require-module
, 或 Node.js >22, 或其他 runtimes 可以解决问题。
建议转换如下配置文件到 ESM :
- 在
package.json
增加"type": "module"
- 重命名
vite.config.js
/vite.config.ts
到vite.config.mjs
/vite.config.mts
修复方案
仅在 package.json
增加 "type": "module"
就修复了。
{
"devDependencies": {
"vitepress": "^1.6.3"
},
"scripts": {
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs"
},
"type": "module"
}