让 TSLint 遵循我在 JS 文件中的规则

Posted

技术标签:

【中文标题】让 TSLint 遵循我在 JS 文件中的规则【英文标题】:Make TSLint follow my rules in JS files 【发布时间】:2017-05-14 20:09:10 【问题描述】:

我在 Visual Studio Code 中使用 TSLint(通过 TSLint 扩展),它非常适合 .ts 文件。它还可以在.js 文件上运行,这很好,但它不使用相同的规则,这很糟糕(对我来说)。我怎样才能让它使用相同的规则?

我的tslint.json 看起来像这样:


  "extends": "tslint:latest",
  "rules": 
    "indent": [true, "tabs"],
    // a bunch of others
  

例如,我在 .js 文件中收到此警告:

[tslint] space indentation expected (indent)

(当我为"tabs" 设置规则时,它希望我使用空格缩进。)

【问题讨论】:

【参考方案1】:

您可以通过tslint.json file 中的jsRules 属性指定要在JS 文件上运行的规则。例如:


  "extends": "tslint:latest",
  "rules": 
    "indent": [true, "tabs"],
    // a bunch of others
  ,
  "jsRules": 
    "indent": [true, "tabs"],
    // a bunch more rules
  

如果您在撰写本文时正在扩展 tslint:latest、these are the default rules,并且您将禁用或覆盖您不想要的规则。

【讨论】:

嗯,好的。谢谢你。不知何故,我错过了它对 javascript 使用完全独立的规则!

以上是关于让 TSLint 遵循我在 JS 文件中的规则的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TSLint 中对 js 和 ts 使用相同的规则

如何在不编译为 JS 的情况下使用用 TypeScript 编写的自定义 tslint 规则和 vscode-tslint?

WebEssentials tslint 自定义规则

如何自动修复 vuejs 中的 tslint 错误

为啥文本字段的底线不遵循 Swift 中的约束规则?

无法通过 Angular 模板上的 Codelyzer 禁用 tslint 规则