VitePress 报错 ESM file cannot be loaded by `require`

报错信息

✘ [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.tsvite.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"
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容