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

相关推荐
我是大卫6 分钟前
【图】React源码解析-从数据结构、调度器、源码设计模式到状态计算引擎,深挖useReducer原理
前端·react.js·源码
willes13 分钟前
列表中的倒计时组件
前端
LVZ14 分钟前
用了半年 AI 写代码,最烦的不是代码,是环境
前端·后端·开源
polaris_tl15 分钟前
一行 `compress: false`,为什么让 SSE 首包恢复实时返回
前端
海边的云17 分钟前
别再让 AI 瞎改代码:一套让大模型「收敛」的前端专家 Skill》
前端
kisshyshy17 分钟前
给端侧大模型装上“发动机”:React 合成事件 + 进度条组件全解
前端·react.js·node.js
hunterandroid29 分钟前
DataStore 工程化实践:迁移、并发更新与异常恢复
android·前端
晓说前端29 分钟前
TypeScript 核心语法进阶 —— 字面量类型与类型推论
前端·typescript
不简说1 小时前
JS 代码技巧 vol.8 — 20 个函数式编程实战,把 if/else 拍扁的骚操作
前端·javascript·面试
头茬韭菜1 小时前
4.9 SSRF 防护 — Web 工具的出站安全与私有 IP 拦截
前端·tcp/ip·安全