如何解决npm run dev无法运行的ES模块加载错误问题
解决npm run dev时ES模块加载报错问题
执行npm run dev时出现如下报错:
(node:12830) 警告:要加载ES模块,请在package.json中设置"type": "module",或使用.mjs扩展名。 (使用 `node --trace-warnings ...` 查看警告产生的位置) 等待调试器断开连接... /home/amaya/Desktop/UM/crm/node_modules/.bin/vite:2 import { performance } from 'node:perf_hooks' ^^^^^^ 语法错误:无法在模块外部使用import语句 at internalCompileFunction (node:internal/vm:73:18) at wrapSafe (node:internal/modules/cjs/loader:1176:20) at Module._compile (node:internal/modules/cjs/loader:1218:27) at Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Module._load (node:internal/modules/cjs/loader:958:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:23:47 Node.js v18.16.0
报错原因
Node.js默认将.js文件当作CommonJS模块解析,但Vite的启动脚本使用了ES模块特有的import语法,两者冲突导致解析失败。
解决方案
方案一:在package.json中启用ES模块
打开项目根目录的package.json,在顶层添加"type": "module"字段:{ "type": "module", "name": "your-project-name", "version": "1.0.0", // 其他项目字段... }保存后重新运行
npm run dev。方案二:更新Vite到兼容版本
虽然Node.js 18.16.0符合Vite 4.x及以上版本要求,但旧版Vite可能存在兼容问题,执行以下命令更新:npm install vite@latest --save-dev方案三:清理依赖缓存后重装
执行以下命令删除旧依赖和缓存,重新安装:rm -rf node_modules package-lock.json npm install npm run dev
内容的提问来源于stack exchange,提问作者Patrick Wambua
相关产品推荐
相关产品推荐

