You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 17运行ng serve报错:Unexpected token '??='求助

Angular 17 执行 ng serve 报 SyntaxError: Unexpected token '??=' 解决方案

问题说明

使用Angular 17项目,通过nvm管理Node版本,执行ng serve时出现以下错误:

SyntaxError: Unexpected token '??='
at wrapSafe (internal/modules/cjs/loader.js:1001:16)
at Module._compile (internal/modules/cjs/loader.js:1049:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at Object.

自身代码未使用该运算符,报错来自Angular库文件。

关键知识点

??=是空值赋值运算符,属于ES2021语法特性,仅在Node.js 15.0.0及以上版本支持。Angular 17的依赖库中使用了该语法,若当前Node版本过低,会因无法解析该语法触发报错。

解决步骤

  • 确认版本要求:Angular 17官方要求Node.js最低版本为18.13.0
  • 使用nvm切换至符合要求的Node版本:
    1. 查看已安装的Node版本:nvm ls
    2. 若已安装符合要求的版本(如18.13.0或20.x),直接切换:nvm use 18.13.0
    3. 若未安装,先安装对应版本:nvm install 18.13.0,安装完成后执行切换命令
  • 验证版本:执行node -v,确认输出版本号符合要求
  • 重新执行ng serve启动项目

额外优化

为避免每次打开终端都需手动切换版本,可将符合要求的Node版本设为默认:nvm alias default 18.13.0

内容的提问来源于stack exchange,提问作者A_J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 17:40:57