Javascript 如何在TSLint中对js和ts使用相同的规则
我想在.js文件和.ts文件中使用相同的样式。我知道tslint.json中有jsRules属性,但我发现有两个问题:Javascript 如何在TSLint中对js和ts使用相同的规则,javascript,typescript,tslint,Javascript,Typescript,Tslint,我想在.js文件和.ts文件中使用相同的样式。我知道tslint.json中有jsRules属性,但我发现有两个问题: 复制蚂蚁粘贴完全相同的规则 扩展某些配置时,例如tslint react,您无法在jsRules中获得规则,这意味着您必须转到规则集的源代码并手动复制它 有没有其他方法可以在不同时维护eslint和tslint的情况下使用相同的代码样式?并非所有人都知道,但tslint配置不必包含在.json文件中。您可以使用.js扩展,并在其中保留您喜欢的任何逻辑 在这种情况下,我们可以
- 复制蚂蚁粘贴完全相同的规则
- 扩展某些配置时,例如tslint react,您无法在jsRules中获得规则,这意味着您必须转到规则集的源代码并手动复制它
有没有其他方法可以在不同时维护eslint和tslint的情况下使用相同的代码样式?并非所有人都知道,但tslint配置不必包含在
.json
文件中。您可以使用.js
扩展,并在其中保留您喜欢的任何逻辑
在这种情况下,我们可以将TSLint规则分为两类-通用规则和特定规则。这两个规则集都将用于TypeScript文件,但只有第一个规则集将应用于JavaScript
tslint.js
const UNIVERSAL_RULES = {
"max-line-length": [true, 120]
}
const REACT_RULES = {
"jsx-space-before-trailing-slash": true
}
module.exports = {
extends: [
"tslint:recommended"
],
jsRules: UNIVERSAL_RULES,
rules: {
...UNIVERSAL_RULES,
...REACT_RULES
}
}
运行TSLint CLI时,可能需要显式指向配置文件。您可以通过将
--config tslint.js
添加到tslint
命令中来实现这一点。您还可以将*.js
文件导入根tslint.config
文件,因为tslint
在幕后使用NodeJS导入分辨率。。。因此,如果您有一个dynamiclint.js
,它在您的根tsconfig.json
:{“extends”:[“/dynamiclint”]}