【问题标题】:Error on `(interface-name) [typescript/tslint]` rule?`(interface-name) [typescript/tslint]` 规则出错?
【发布时间】:2019-06-08 22:16:02
【问题描述】:

我收到这个 tslint 错误,我不明白为什么。界面确实以大写字母开头。

29 col 11 error| interface name must start with a capitalized I (interface-name) [typescript/tslint]

S> 29 interface Props {
   30   answerQuestion: (answerQuestion: AnswerQuestion) => void;

【问题讨论】:

    标签: tslint


    【解决方案1】:

    interface-name rule 要求所有接口都使用大写字母I。这是为了区分接口和类(因为接口不是值,而是类)。在您的情况下,您可以通过将接口命名为 IProps 来更正您的代码。

    【讨论】:

    • 如果需要,可以在接口声明上方添加这一行忽略错误:// tslint:disable-next-line:interface-name
    【解决方案2】:

    您可以尝试在 tslint.json 中添加以下代码 =>

    {
      "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
      "linterOptions": {
        "exclude": [
          "config/**/*.js",
          "node_modules/**/*.ts",
          "coverage/lcov-report/*.js"
        ]
      },
      "rules": {
        "interface-name" : [true, "never-prefix"]
      }
    }
    
    
    

    【讨论】:

      【解决方案3】:

      修改你的 tslint.json

      {
        "extends": [
          "tslint:recommended",
          "tslint-react",
          "tslint-config-prettier"
        ],
        "linterOptions": {
          "exclude": [
            "config/**/*.js",
            "node_modules/**/*.ts"
          ]
        },
        "interface-name" : [true, "never-prefix"] // <-- Include this line
      }
      

      【讨论】:

        猜你喜欢
        • 2020-11-04
        • 2016-05-17
        • 2018-07-15
        • 2020-07-24
        • 2019-11-30
        • 2016-02-04
        • 2020-03-01
        • 2019-03-26
        • 2019-07-30
        相关资源
        最近更新 更多