【问题标题】:tslint - Missing trailing comma (trailing-comma) on the last linetslint - 最后一行缺少尾随逗号(尾随逗号)
【发布时间】:2019-02-12 13:18:54
【问题描述】:

我不明白为什么我的tslint 甚至想在objects 的最后一行末尾看到尾随逗号?例如,如何为对象的最后一行设置ignore 规则?谢谢。

示例:

  props = {
    prop1: 21, // good
    prop2: 2, // good
    prop3: false // error: [tslint] Missing trailing comma (trailing-comma)

  }

trailing-comma 在我的tsconfig.json 中的规则:

"trailing-comma": [true, {
  "singleline": "never",
  "multiline": {
    "objects": "always",
    "arrays": "always",
    "functions": "never",
    "typeLiterals": "ignore"
  }
}]

【问题讨论】:

    标签: javascript typescript tslint


    【解决方案1】:

    您显然为多行对象启用了规则:

    "trailing-comma": [true, {
      "singleline": "never",
      "multiline": {
        "objects": "always",     // <==================
        "arrays": "always",
        "functions": "never",
        "typeLiterals": "ignore"
      }
    }]
    

    所以...通过设置"never"(如果您想在此处禁止逗号)或"ignore"(如果您希望允许逗号存在或不存在,无论哪种方式)来禁用它。

    【讨论】:

    • 哦,但是在这种情况下,我们将完全禁用 trailing commasobject,而不是只禁用其中的最后一行。不是吗?
    • @MaxTravis - 该规则适用于最后一个属性,而不是每一行。对于 between 属性,您别无选择。
    • 谢谢,但要明确的是,如果我将 "objects": "always" 设置为 neverignore 它将禁用整个对象的这个 tslint 规则,这是不正确的......它将是: props = { prop1: 21, prop2: 2 prop3: false } - 上prop2 肯定是tslint 中的错误
    • @MaxTravis - prop2: 2 prop3: false已经存在语法错误。这条规则与它无关。此规则纯粹是关于对象初始化程序上结束 } 之前的 last 属性之后的逗号。
    • 哎呀,我现在明白你了。抱歉,从 .js 迁移到 .ts 后,我还是有点困惑!谢谢!
    【解决方案2】:

    我在tslint.json 中解决了这个问题,如下所示:

    "rules": { "trailing-comma": false }
    

    【讨论】:

      【解决方案3】:

      即使在最后一行也包含尾随逗号是减少合并冲突的好习惯,尽管它看起来很奇怪。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-05
        • 2021-01-25
        • 1970-01-01
        • 2021-03-11
        • 1970-01-01
        • 1970-01-01
        • 2014-01-30
        • 2018-01-10
        相关资源
        最近更新 更多