vitepress使用createContentLoader时遇到["vitepress" resolved to an ESM file. ESM file cannot be loaded by `require`.]报错

在使用vitepress构建一个所有博客的概览页的时候,使用到了createContentLoader这个api,但是在index.data.ts中定义并导出后,在md文件中调用遇到了下面这个问题:

Build failed with 1 error: node_modules/esbuild/lib/main.js:1374:27: ERROR: [plugin: externalize-deps] "vitepress" resolved to an ESM file. ESM file cannot be loaded by `require`. See https://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.

之后通过搜索vitepress的issues找到了这个解决方案:

把 package.json中的type改为module

{
  "name": "larry's blog",
  "version": "1.0.0",
  "type": "module"
}

改完后记得重新运行一下项目~

issue地址

posted @ 2024-05-19 11:04  azoux  阅读(186)  评论(0编辑  收藏  举报