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

Angular v14升级后TSlint规则转ESlint失败求助

解决TSlint自定义规则转ESlint的问题

先排查转换命令的执行日志

执行转换命令时,终端会输出哪些TSlint规则被成功转换、哪些因为没有对应ESlint规则被跳过。先回看这些日志,确定哪些规则需要手动处理。

手动映射并添加规则到.eslintrc.json

  1. 规则对应关系匹配
    大部分TSlint规则都能在ESlint生态找到对应项:

    • TSlint的no-unused-variable → ESlint的@typescript-eslint/no-unused-vars
    • TSlint的prefer-const → ESlint的prefer-const
    • TSlint的no-console → ESlint的no-console
      对照自己tslint.json里的自定义规则,逐个查找对应的ESlint规则(包括@typescript-eslint和@angular-eslint的专属规则)。
  2. 调整规则级别格式
    ESlint的规则级别用"error"(对应TSlint的true)、"warn"(对应TSlint的"warning")、"off"(对应TSlint的false)。比如原tslint.json的配置:

    "rules": {
      "no-console": false,
      "prefer-const": true,
      "member-access": "warning"
    }
    

    转换成.eslintrc.json的规则:

    "rules": {
      "no-console": "off",
      "prefer-const": "error",
      "@typescript-eslint/explicit-member-accessibility": "warn"
    }
    

处理无直接对应规则的情况

如果部分TSlint规则没有现成的ESlint替代方案,可以用以下两种方式过渡:

  • 使用桥接插件(临时方案):安装eslint-plugin-tslint,在.eslintrc.json中配置桥接规则,直接沿用TSlint规则:
    "plugins": ["tslint"],
    "rules": {
      "tslint/config": ["error", {
        "rules": {
          // 填入你的TSlint自定义规则
          "custom-tslint-rule": true
        }
      }]
    }
    
    注意这只是过渡手段,长期建议替换为ESlint原生规则。
  • 自定义ESlint规则:如果有特殊需求,可以编写自定义ESlint规则来实现原TSlint规则的功能。

验证转换结果

修改完.eslintrc.json后,运行ng lint命令测试规则是否生效,根据报错信息调整规则配置,直到符合你的代码规范要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:11:00