首页 前端知识 Unocss:“unocss/vite“ resolved to an ESM file.ESM file cannot be loaded by `require`

Unocss:“unocss/vite“ resolved to an ESM file.ESM file cannot be loaded by `require`

2024-08-04 22:08:53 前端知识 前端哥 264 308 我要收藏

一、问题描述

在配置unocss后,运行pnpm run dev时,报错如下:

 [ERROR] "unocss/vite" resolved to an ESM file. ESM file cannot be loaded by `require`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details. [plugin externalize-deps]

    node_modules/.pnpm/esbuild@0.18.20/node_modules/esbuild/lib/main.js:1373:27:
      1373 │         let result = await callback({

在这里插入图片描述

二、解决方案

unocss0.59.x已经不支持commonjs了,仅仅支持ESM(只使用 ESM 来管理模块依赖,不再支持 CommonJS 或 AMD 等其他模块化方案),可以查看《unocss的发布变更日志》:
在这里插入图片描述

那么,我们可以尝试以下方法:

1.方法一:
可以参考《This package is ESM only》文档说明:
在这里插入图片描述

vite.config.ts 文件名改为 vite.config.mts,再重新运行命令即可。

2.方法二:

// vite.config.ts

export default async () => {
  const UnoCSS = (await import('unocss/vite')).default

  return defineConfig({
    plugins: [
      UnoCSS(),
    ],
  })
}

3.方法三:
将unocss版本 降至 v0.58.9及以下。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/14747.html
标签
ViteUnoCSS
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!