tslint - 最后一行缺少尾随逗号(尾随逗号)

Posted

技术标签:

【中文标题】tslint - 最后一行缺少尾随逗号(尾随逗号)【英文标题】:tslint - Missing trailing comma (trailing-comma) on the last line 【发布时间】: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"
  
]

【问题讨论】:

【参考方案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】:

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

【讨论】:

以上是关于tslint - 最后一行缺少尾随逗号(尾随逗号)的主要内容,如果未能解决你的问题,请参考以下文章

我应该在函数调用中的最后一个参数后添加一个尾随逗号吗?

无论我是不是将尾随逗号放入数组中,性能是不是存在差异?

您可以在 JSON 对象中使用尾随逗号吗?

数组和对象中的尾随逗号是规范的一部分吗?

数组和对象中的尾随逗号是规范的一部分吗?

为啥列表中允许使用尾随逗号?