SvelteKit项目执行npm run dev报错:Unexpected token '??='
SvelteKit启动报错:SyntaxError: Unexpected token '??=' 的原因与解决
报错原因
??=是ES2021新增的空值赋值运算符,Node.js 16.0.0及以上版本原生支持该语法。出现这个错误的核心原因通常有以下几种:
- 你确认的Node.js版本和项目实际运行的版本不一致:比如全局Node是18.16.0,但项目通过nvm等工具切换到了低于16.0.0的版本
- 项目依赖不兼容:Vite或SvelteKit的版本搭配出问题,导致生成的
vite.config.js里使用了当前环境不支持的语法 - 极少数情况是
vite.config.js被误修改,出现了语法错误
解决步骤
- 验证实际Node版本:在项目根目录终端执行
node -v,确认输出版本≥16.0.0。如果版本不对,切换到正确版本后重启服务 - 重装依赖:
- 删除
node_modules文件夹和package-lock.json文件 - 执行
npm install重新安装所有依赖
- 删除
- 检查配置文件:打开
vite.config.js,排查是否有错误的??=使用。如果是SvelteKit自动生成的配置,基本可以确定是依赖问题,按上面的重装步骤处理即可 - 更新核心依赖:执行
npm update @sveltejs/kit vite,把SvelteKit和Vite升级到兼容的最新版本,再尝试启动服务
内容的提问来源于stack exchange,提问作者mhmadamrii
相关产品推荐
相关产品推荐

