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

执行ng serve遇Unexpected token '??='错误,Node.js14.21.3环境求助

解决Angular中ng serve报错Unexpected token '??='的问题

问题场景

执行ng serve时触发以下错误:

An unhandled exception occurred: Unexpected token '??='
See "C:\Users\LENOVO\AppData\Local\Temp\ng-XuPjaQ\angular-errors.log" for further details.

错误溯源到@angular-devkit/core包内代码:

[error] B:\projet\skysoft\frontend\skytransit-frontend\node_modules\@angular-devkit\core\src\json\schema\transforms.js:17
    value ??= schema.default;
          ^^^

SyntaxError: Unexpected token '??='
    at wrapSafe (internal/modules/cjs/loader.js:1029:16)
    at Module._compile (internal/modules/cjs/loader.js:1078:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:979:32)
    at Function.Module._load (internal/modules/cjs/loader.js:819:12)
    at Module.require (internal/modules/cjs/loader.js:1003:19)
    at require (internal/modules/cjs/helpers.js:107:18)
    at Object.<anonymous> (B:\projet\skysoft\frontend\skytransit-frontend\node_modules\@angular-devkit\core\src\json\schema\index.js:37:33)
    at Module._compile (internal/modules/cjs/loader.js:1114:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)

已切换到Node.js 14.21.3,手动将value ??= schema.default替换为value = value !== undefined ? value : schema.default后问题仍未解决。


解决方案

1. 匹配@angular-devkit/core与Node.js版本

??=(空值赋值运算符)在Node.js 14.x中为实验性支持,直到Node.js 15.0.0才正式稳定。当前@angular-devkit/core版本可能已使用该语法,但Node.js 14.21.3支持不完善:

  • 查看当前包版本:
    npm list @angular-devkit/core
    
  • 降级到兼容Node.js 14的版本(需匹配你的Angular主版本,示例为14.x系列):
    npm install @angular-devkit/core@14.2.11 --save-dev
    

2. 彻底清理依赖缓存后重装

手动修改node_modules内文件会被后续安装覆盖,需彻底清理:

  • 删除node_modules文件夹和package-lock.json文件
  • 清理npm缓存:
    npm cache clean --force
    
  • 重新安装依赖:
    npm install
    

3. 确认NVM版本切换生效

部分场景下终端环境未刷新,导致实际使用的Node版本不匹配:

  • 检查当前Node版本:
    node -v
    
  • 若版本不符,重启终端或执行:
    nvm use 14.21.3
    

4. 同步Angular CLI版本

Angular CLI版本需与Node.js版本兼容:

  • 查看当前CLI版本:
    ng version
    
  • 降级到兼容Node.js 14的CLI版本(示例为14.x系列):
    npm install @angular/cli@14.2.11 --save-dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 04:32:14