ESlint: отключение определенного правила в проекте
Я прочитал документы о том, как отключить правила из файла, однако мне интересно, есть ли способ отключить или перезаписать правила из .eslintrc
без перезаписи других предыдущих правил и предустановок, которые я определил. Я работаю в проекте AngularJS, поэтому я использовал extends
собственность внутри моего .eslintrc
файл.
Есть 3 конкретных правила из углового плагина ESlint, которые я хотел бы отключить, не отключая все остальное, что я использовал ранее.
Без rules
Свойство все мои правила lint работают нормально (пробелы, грамматические ошибки и т. д.), но две ошибки lint, которые я не хочу, естественно, отображаются. Однако с rules
свойство присоединено, все мои предыдущие правила больше не применяются (интервальные ошибки грамматики и т. д.).
Я мог бы просто объявить правило, чтобы отключить конкретное правило, которое я не хочу применять в верхней части моего файла, но это очень повторяется (это то, что я делал ранее).
{
"rules": {
"wrap-iife": [
2,
"inside"
],
"max-len": [
2,
120
],
"indent": [
2,
2
],
"no-with": 2,
"no-implicit-coercion": [
2, {
"string": true
}
],
"camelcase": [
2, {
"properties": "never"
}
],
"quotes": [
2,
"single"
],
"linebreak-style": [
2,
"unix"
],
"semi": [
2,
"always"
]
},
"env": {
"es6": true,
"browser": true,
"node": true
},
"ecmaFeatures": {
"modules": true
},
"globals": {
"angular": true
},
"extends": "angular",
//I just want to disable these rules & still use everything else
//but when I add this, everything else I had previously no longer
//applies
"rules": {
"angular/controller-as-vm": "off",
"angular/document-service": "off",
"angular/window-service": "off"
}
}
1 ответ
В вас .eslintrc у вас есть два rules
ключи. Второе заменит первое. Вот файл с правилами, объединенными вместе:
{
"rules": {
"wrap-iife": [
2,
"inside"
],
"max-len": [
2,
120
],
"indent": [
2,
2
],
"no-with": 2,
"no-implicit-coercion": [
2, {
"string": true
}
],
"camelcase": [
2, {
"properties": "never"
}
],
"quotes": [
2,
"single"
],
"linebreak-style": [
2,
"unix"
],
"semi": [
2,
"always"
],
"angular/controller-as-vm": "off",
"angular/document-service": "off",
"angular/window-service": "off"
},
"env": {
"es6": true,
"browser": true,
"node": true
},
"ecmaFeatures": {
"modules": true
},
"globals": {
"angular": true
},
"extends": "angular"
}
Файл конфигурации ESLint, который отключает все правила по отдельности.
Это файл конфигурации Eslint (eslintrc.json), в котором отключены все правила, так что вы можете изменять свой код на основе правила за правилом, а не изменять весь код в соответствии со всеми правилами?