首页 > 解决方案 > 使用自定义 tslint 规则导致找不到实现

问题描述

我很难理解为什么我的自定义打字稿规则不起作用。下面的一些代码显示我的设置。

包.json:

 {
  "name": "lintingrules",
  "version": "0.0.1",
  "description": "Custom linting rules",
  "main": "lintrules.json"
 }

lintrules.json:

{
    "rulesDirectory": "./rules",
    "rules": {
        "enounderscore": true
    }
}

项目的 tslint.json 我想使用 linting 规则:

{
  "extends": ["lintingrules"]
}

在我的文件夹src/rules中,我有一个使用tsquery. 在我的角度项目中使用它时,我总是在运行时收到以下消息ng lint

找不到配置中指定的以下规则的实现:enounderscore 尝试升级 TSLint 和/或确保您已安装所有必要的自定义规则。如果最近升级了 TSLint,您可能配置了需要清理的旧规则。

标签: angulartypescripttslint

解决方案


所以我的错误是我没有使用 TSLint 需要的约定,而是创建了一个随机名称的文件:

重要约定:

规则标识符始终是 kebab 大小写的。规则文件始终是驼峰式大小写的 (camelCasedRule.ts)。规则文件必须包含后缀 Rule。导出的类必须始终命名为 Rule 并从 Lint.Rules.AbstractRule 扩展。


推荐阅读