Отключение правила eslint для определенного файла
Можно ли отключить правило eslint для всего файла? Что-то вроде:
// eslint-disable-file no-use-before-define
(Аналогично eslint-disable-line.) Это случается со мной довольно часто, что в определенном файле я нарушаю определенное правило во многих местах, которые считаются ОК для этого файла, но я не хочу чтобы отключить правило для всего проекта, и я не хочу отключать другие правила для этого конкретного файла.
Ответы
Ответ 1
Вы можете отключить/изменить определенное правило для файла, разместив конфигурации в верхней части файла.
/* eslint no-use-before-define: 0 */ // --> OFF
or
/* eslint no-use-before-define: 2 */ // --> ON
Дополнительная информация: http://eslint.org/docs/user-guide/configuring.html#configuring-rules
Ответ 2
Просто разместите /* eslint-disable */
в верхней части файла
Проверьте: https://evanhahn.com/disable-eslint-for-a-file/
Ответ 3
Вы можете сказать ESLint игнорировать определенные файлы и каталоги, создав файл .eslintignore
в корневом каталоге проектов:
.eslintignore
build/*.js
config/*.js
bower_components/foo/*.js
Модели игнорирования ведут себя согласно спецификации .gitignore
.
(Не забудьте перезапустить редактор.)
Ответ 4
Вы также можете отключить/включить правило, подобное этому:
/* eslint-disable no-use-before-define */
... code that violates rule ...
/* eslint-enable no-use-before-define */
Аналогично eslint-disable-line
, как упоминалось в вопросе. Это может быть лучший метод, если вы не хотите восстанавливать сложную конфигурацию правила при повторном включении.
Ответ 5
Чтобы временно отключить предупреждения правил в вашем файле, используйте блочные комментарии в следующем формате:
/* eslint-disable */
Это отключит ESLint до
/* eslint-enable */
комментарий достигнут.
Вы можете прочитать больше об этой теме здесь.
Ответ 6
Принятый ответ не работал у меня (может быть, другая версия eslint...? Я использую eslint v3.19.0
), но нашел решение со следующим...
В верхней части файла поместите следующее:
/* eslint-disable no-use-before-define */
Это отключит правило для всего файла
Ответ 7
Лучше добавить "переопределения" в ваш конфигурационный файл .eslintrc.js. Например, если вы хотите отключить правило camelcase для всех js файлов, оканчивающихся на Actions, добавьте этот код после области действия правил в .eslintrc.js.
"rules": {
...........
},
"overrides": [
{
"files": ["*Actions.js"],
"rules": {
"camelcase": "off"
}
}
]
Ответ 8
Исходя из количества правил, которые вы хотите игнорировать (Все или Некоторые), и объема его отключения (Строка (и), Файл (ы), Везде), мы имеем 2 × 3 = 6 случаев.
1) Отключение "Все правила"
Случай 1.1: Вы хотите отключить "Все правила" для "Одной или нескольких строк"
Поместите /* eslint-disable-line */
в конец строки (строк) или /* eslint-disable-next-line */
прямо перед строкой.
Случай 1.2. Вы хотите отключить "Все правила" для "Один файл"
Поместите комментарий /* eslint-disable */
вверху файла.
Случай 1.3. Вы хотите отключить "Все правила" для "Некоторые файлы"
Есть 3 способа сделать это:
- Вы можете пойти с 1.2 и добавить
/* eslint-disable */
поверх файлов, один за другим.
- Вы можете поместить имена файлов в
.eslintignore
. Это хорошо работает, особенно если у вас есть путь, который вы хотите игнорировать. (например, apidoc/**
)
- Кроме того, если вы не хотите иметь отдельный файл
.eslintignore
, вы можете добавить
"eslintIgnore": ["file1.js", "file2.js"]
в package.json
как
здесь.
2) Отключение "некоторых правил"
Случай 2.1: Вы хотите отключить "Некоторые правила" для "Одной или нескольких строк"
Вы можете поместить /* eslint-disable-line quotes */
(заменить quotes
вашими правилами) в конце строки (ей) или /* eslint-disable-next-line no-alert, quotes, semi */
перед строкой.
Случай 2.2: Вы хотите отключить "Некоторые правила" для "Один файл"
Поместите комментарий /* eslint-disable no-use-before-define */
вверху файла. Больше примеров здесь.
Случай 2.3: Вы хотите отключить "Некоторые правила" для "Некоторые файлы"
Это менее просто. Вы должны поместить их в объект "excludedFiles"
раздела "overrides"
вашего .eslintrc
, как указано здесь.
Ответ 9
/*eslint-disable */
//suppress all warnings between comments
alert('foo');
/*eslint-enable */
это сработало для меня
Ответ 10
Вы можете просто поместить это, например, вверху файла:
/* eslint-disable no-console */
Ответ 11
Вы можете отключить определенное правило для файла, используя /*eslint [<rule: "off"], >]*/
/* eslint no-console: "off", no-mixed-operators: "off" */
Версия: [email protected]