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

Angular16项目加载@angular-eslint插件失败:Unexpected token '??='

解决Angular 16项目ESLint加载插件时的Unexpected token '??='错误

核心原因

??=是ES2020引入的空值赋值操作符,出现该错误的核心原因是运行ESLint的Node.js版本不支持该语法,或者依赖包版本与Angular 16/Node.js版本不兼容。Angular 16对Node.js的最低要求是16.14.0+或18.10.0+,低于此版本的Node环境无法解析该语法。

排查与修复步骤

1. 检查并升级Node.js版本

执行终端命令查看当前Node版本:

node -v

如果版本低于16.14.0,直接升级到Angular 16兼容的Node.js版本(推荐18.x LTS长期支持版)。

2. 对齐@angular-eslint套件版本

Angular 16必须搭配对应大版本的@angular-eslint工具包,确保所有@angular-eslint/开头的依赖版本为16.x:

  • 打开package.json,检查@angular-eslint/eslint-plugin、@angular-eslint/eslint-plugin-template、@angular-eslint/template-parser、@angular-eslint/schematics的版本是否为^16.0.0及以上
  • 版本不一致时,执行命令统一升级:
npm install @angular-eslint/eslint-plugin@16 @angular-eslint/eslint-plugin-template@16 @angular-eslint/template-parser@16 @angular-eslint/schematics@16 --save-dev

3. 验证ESLint核心版本

Angular 16对应的@angular-eslint需要ESLint 8.x版本支持,检查package.json中eslint版本是否为^8.0.0,若版本过低则执行升级:

npm install eslint@8 --save-dev

4. 清理依赖缓存并重装

若上述操作后问题仍存在,清理缓存并重新安装依赖:

npm cache clean --force
rm -rf node_modules package-lock.json
npm install

5. 校验.eslintrc.json配置合法性

确保overrides段的插件配置符合Angular 16规范,示例配置如下:

{
  "root": true,
  "ignorePatterns": ["projects/**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "extends": [
        "eslint:recommended",
        "plugin:@angular-eslint/recommended",
        "plugin:@angular-eslint/template/process-inline-templates"
      ],
      "rules": {}
    },
    {
      "files": ["*.html"],
      "extends": ["plugin:@angular-eslint/template/recommended"],
      "rules": {}
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:02:04