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

Angular库配置ESLint自定义组件选择器前缀不生效如何解决?

问题解决步骤

  • 确认类库ESLint配置的规则放置位置
    类库目录下的.eslintrc.json中,@angular-eslint/component-selector规则必须放在针对TypeScript文件的overrides配置块内,不能直接放在全局rules下,示例正确结构如下:
{
  "extends": "../../.eslintrc.json",
  "ignorePatterns": ["!**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "rules": {
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "lib",
            "style": "kebab-case"
          }
        ]
      }
    },
    // 保留原有HTML等文件的overrides配置即可
  ]
}
  • 校验angular.json的lint配置路径
    打开根目录angular.json,找到类库对应的lint配置项,确认eslintConfig字段指向类库自己的配置文件,示例:
{
  "projects": {
    "my-library": {
      "architect": {
        "lint": {
          "options": {
            "eslintConfig": "projects/my-library/.eslintrc.json"
          }
        }
      }
    }
  }
}
  • 根目录配置兜底方案
    如果上述操作仍不生效,可以直接在根目录的.eslintrc.json中添加针对类库目录的专属规则覆写,优先级高于子项目继承的规则:
{
  "overrides": [
    {
      "files": ["projects/my-library/**/*.ts"],
      "rules": {
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "lib",
            "style": "kebab-case"
          }
        ]
      }
    }
  ]
}
  • 清理缓存验证结果
    修改完成后运行ng lint --cache=false执行校验,避免ESLint缓存旧规则导致配置不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:45:07