VITE BALABALA require balabla not supported

记一个抓狂的问题

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 起码不报错了!不过还有新问题 ,真正排查......

相关推荐
Nan_Shu_61428 分钟前
Web前端面试题(2)
前端
知识分享小能手35 分钟前
React学习教程,从入门到精通,React 组件核心语法知识点详解(类组件体系)(19)
前端·javascript·vue.js·学习·react.js·react·anti-design-vue
蚂蚁RichLab前端团队2 小时前
🚀🚀🚀 RichLab - 花呗前端团队招贤纳士 - 【转岗/内推/社招】
前端·javascript·人工智能
孩子 你要相信光2 小时前
css之一个元素可以同时应用多个动画效果
前端·css
萌萌哒草头将军2 小时前
Oxc 和 Rolldown Q4 更新计划速览!🚀🚀🚀
javascript·vue.js·vite
huangql5202 小时前
npm 发布流程——从创建组件到发布到 npm 仓库
前端·npm·node.js
Days20502 小时前
LeaferJS好用的 Canvas 引擎
前端·开源
小白菜学前端2 小时前
vue2 常用内置指令总结
前端·vue.js
林_深时见鹿2 小时前
Vue + ElementPlus 自定义指令控制输入框只可以输入数字
前端·javascript·vue.js
椒盐螺丝钉3 小时前
Vue组件化开发介绍
前端·javascript·vue.js