记一个抓狂的问题
vite 项目报错:
javascript
failed to load config from E:\Projects\Code\maegebazide\vite.config.ts
error when starting dev server:
Error [ERR_REQUIRE_ESM]: require() of ES Module E:\Projects\Code\maegebazide\node_modules\package-manager-detector\dist\detect.mjs not supported.
Instead change the require of E:\Projects\Code\maegebazide\node_modules\package-manager-detector\dist\detect.mjs to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@antfu\install-pkg\dist\index.cjs:41:21)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@iconify\utils\lib\loader\install-pkg.cjs:3:20)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@iconify\utils\lib\loader\fs.cjs:5:27)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js: at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@iconify\utils\lib\loader\node-loader.cjs:4:19)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\unplugin-icons\dist\chunk-X6JWFUC3.js:59:19)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\unplugin-icons\dist\vite.js:3:24)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\vite.config.ts:103:28)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64456:24)
at loadConfigFromBundledFile (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64464:21)
at async loadConfigFromFile (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64324:28)
at async resolveConfig (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:63932:28)
at async _createServer (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:63219:20)
at async CAC.<anonymous> (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/cli.js:733:24)
PS E:\Projects\Code\maegebazide> npm run dev
> 号百外呼@5.1.0 dev
> vite serve --mode development
failed to load config from E:\Projects\Code\maegebazide\vite.config.ts
error when starting dev server:
Error [ERR_REQUIRE_ESM]: require() of ES Module E:\Projects\Code\maegebazide\node_modules\package-manager-detector\dist\detect.mjs not supported.
Instead change the require of E:\Projects\Code\maegebazide\node_modules\package-manager-detector\dist\detect.mjs to a dynamic import() which is available in all CommonJS modules.
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@antfu\install-pkg\dist\index.cjs:41:21)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@iconify\utils\lib\loader\install-pkg.cjs:3:20)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@iconify\utils\lib\loader\fs.cjs:5:27)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js: at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\@iconify\utils\lib\loader\node-loader.cjs:4:19)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\unplugin-icons\dist\chunk-X6JWFUC3.js:59:19)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\node_modules\unplugin-icons\dist\vite.js:3:24)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64459:17)
at Object.<anonymous> (E:\Projects\Code\maegebazide\vite.config.ts:103:28)
at _require.extensions.<computed> [as .js] (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64456:24)
at loadConfigFromBundledFile (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64464:21)
at async loadConfigFromFile (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:64324:28)
at async resolveConfig (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:63932:28)
at async _createServer (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/chunks/dep-24daf00c.js:63219:20)
at async CAC.<anonymous> (file:///E:/Projects/Code/ma/lege/bazide/node_modules/vite/dist/node/cli.js:733:24)
要死哦 VITE不支持 require 但是node_modules/vite/dist/node/chunks/dep-24daf00c.js 里面有require
这不合理啊
javascript
// TODO: use import()
const _require$3 = createRequire$1(import.meta.url);
CSDN 的文章要么出奇的一致且没用
要么就是收费
看起来源码标注了 TODO 那么估计新版本的vite 可能解决了这个问题,我就看看自己的vite 版本: 4.6.3
搜来收去:
排错指南| Vite 官方中文文档
非常有用:(以下是原文)
配置
该包仅支持 ESM
当使用 require 导入一个仅支持 ESM 的包时,会出现以下错误。
Failed to resolve "foo". This package is ESM only but it was tried to load by require.
"foo" resolved to an ESM file. ESM file cannot be loaded by require.
ESM 格式的文件无法被 require 加载。
我们建议你通过以下方式将你的配置文件转换为 ESM 格式:
在邻近的 package.json 中添加 "type": "module"
将 vite.config.js/vite.config.ts 重命名为 vite.config.mjs/vite.config.mts
按照建议搞一下 , ok 起码不报错了!不过还有新问题 ,真正排查......