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

Angular升级v10迁移ESLint报@angular-eslint/component-selector规则未找到错误

报错核心原因
  • 未在ESLint配置中引入@angular-eslint相关插件与规则集:你当前根配置的TS文件extends字段仅引入了@typescript-eslint的配置,没有加载@angular-eslint的规则定义,所以ESLint无法识别@angular-eslint/component-selector这类Angular专属规则
  • 可能缺失@angular-eslint相关依赖包:迁移过程未安装对应Angular版本的ESLint Angular插件
  • 额外配置错误:HTML文件的overrides规则中错误添加了@typescript-eslint相关规则,该类规则仅适用于TS文件,虽不直接导致当前报错,但会引发其他异常
解决方案

步骤1:安装对应版本的依赖包

Angular 10 需匹配@angular-eslint 1.x 版本,执行以下命令安装:

npm install --save-dev @angular-eslint/eslint-plugin@1.x @angular-eslint/template-parser@1.x @angular-eslint/eslint-plugin-template@1.x

若使用yarn包管理器,替换为对应yarn add --dev命令即可。

步骤2:修正根目录.eslintrc.json配置

修改后的完整配置参考:

{
  "root": true,
  "ignorePatterns": [
    "!**/*"
  ],
  "overrides": [
    {
      "files": ["*.ts"],
      "parser": "@typescript-eslint/parser",
      "parserOptions": {
        "project": ["**/tsconfig.json"],
        "createDefaultProgram": true
      },
      "plugins": ["@angular-eslint"],
      "extends": [
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended",
        // 新增:引入Angular ESLint推荐规则集,加载所有@angular-eslint规则定义
        "plugin:@angular-eslint/recommended"
      ],
      "rules": {
        "@angular-eslint/component-selector": [
          "error",
          {
            "prefix": "lib",
            "style": "kebab-case",
            "type": "element"
          }
        ],
        "@angular-eslint/directive-selector": [
          "error",
          {
            "prefix": "lib",
            "style": "camelCase",
            "type": "attribute"
          }
        ],
        "max-len": ["error", { "code": 140 }],
        "@typescript-eslint/explicit-module-boundary-types": "off",
        "@typescript-eslint/ban-ts-comment": "off",
        "@typescript-eslint/naming-convention": [
          "error",
          {
            "selector": "variable",
            "format": ["camelCase", "UPPER_CASE", "PascalCase"]
          }
        ]
      }
    },
    {
      "files": ["*.html"],
      "parser": "@angular-eslint/template-parser",
      "plugins": ["@angular-eslint/eslint-plugin-template"],
      "extends": [
        "plugin:@angular-eslint/template/recommended"
      ],
      "rules": {
        // 移除原有的TS专属规则,仅保留HTML模板相关规则
      }
    }
  ]
}

步骤3:验证子库配置

子库的配置无需大改,只需确保继承根配置后,自定义的规则参数没有格式错误即可,你当前的子库配置符合要求,无需调整。

步骤4:清理缓存重启服务

执行以下命令清理ESLint缓存,再运行lint命令验证:

npx eslint --clear-cache

如果使用IDE的ESLint插件,手动重启插件服务,避免旧缓存导致报错依然存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:36:02