Nuxt启动报错:默认ESM加载器仅支持file/data协议,如何修复?
修复Nuxt启动时的ESM路径错误
问题分析
这个错误是Windows系统下Node.js的ESM加载器路径解析规则导致的:它要求本地绝对路径必须以file://开头的URL格式传入,而直接使用D:/xxx这类磁盘路径会被识别为非法协议。
修复方案
检查并修正Nuxt配置文件中的路径
打开项目根目录的nuxt.config.ts,排查是否有直接使用Windows绝对路径的配置项(比如rootDir、srcDir或自定义路径参数):- 优先改成相对路径,比如把
D:/IAICB-72/IAICB-71替换为./(如果指向项目根目录) - 若必须用绝对路径,需改成标准
file://格式:file:///D:/IAICB-72/IAICB-71(注意三个斜杠)
- 优先改成相对路径,比如把
切换到项目目录后启动Nuxt
不要直接在跨盘符或非项目目录下执行启动命令,先进入项目所在路径:cd D:/IAICB-72/IAICB-71 npm run dev排查自定义脚本与环境变量
检查package.json中的启动脚本、项目配置的环境变量,确认是否存在非标准格式的绝对路径,统一替换为相对路径或file://格式。升级Node.js版本
部分旧版Node.js在Windows下的ESM路径处理存在bug,升级到最新LTS版本(如18.x、20.x系列)可解决兼容性问题。清理Nuxt专属缓存
除了常规的依赖缓存,清理Nuxt生成的缓存文件后重新安装启动:npx nuxt clean npm install npm run dev
内容的提问来源于stack exchange,提问作者gewal007
相关产品推荐
相关产品推荐

