从基于glob模式的配置
与任何其他ESLint配置几乎相同,特定于glob的配置可以包含覆盖块,其中可以包含除root和ignorePatterns之外的任何有效配置选项。
在您的eslint配置文件中,您可以添加一个overrides
部分,它是一个对象数组。每个对象都必须具有files
键,在其中定义了glob模式。任何匹配的文件都将使用覆盖的配置。例如:
{
"env": {
"es6": true
},
"extends": [
"eslint:recommended",
"plugin:security/recommended"
],
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"plugins": [
"security"
],
"rules": {
"indent": [ "error", 4 ]
},
"overrides": [{
"files": ["*.ts"],
"parser": "babel-eslint",
"parserOptions": {
},
"plugins": [
"@babel/plugin-proposal-optional-chaining"
],
"rules": [
],
},
}]
}
然而,如果你已经使用了@typescript-eslint/parser
,那么你可能已经匹配了*.ts文件,覆盖它只会使每个*.ts文件都使用babel-eslint
,这并不能解决你的问题。
我假设你想让两个解析器(typescript-eslint和babel)同时运行在同一个文件上,但我不知道一个简单的解决方案。
@angular-eslint/template-parser
和@html-eslint/parser
相关的问题。我唯一能想到的解决方法是使用两个不同的ESLint配置文件运行两个命令。但可悲的是,我找不到同时将这两种解析器引入我的代码编辑器的解决方案。 - DerZyklop