Отключение правила ESLint для конкретной строки
Проблема с отключением правила линтинга в ESLint
Я пытаюсь отключить правило линтинга для определенной строки кода в ESLint, подобно тому, как это делается в JSHint. В JSHint для этого используется следующая структура комментариев:
/* jshint ignore:start */
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */
Но я не могу найти эквивалентный способ сделать то же самое в ESLint. Подскажите, как я могу отключить линтинг для конкретной строки или блока кода в ESLint?
4 ответ(ов)
В общем, комментарий // eslint-disable-line
не требует дополнительных указаний после него: не нужно уточнять код, который вы хотите, чтобы ESLint игнорировал.
Если вам нужно игнорировать какую-либо синтаксическую конструкцию по причинам, отличным от быстрого отладки, возможно, у вас есть проблемы: почему бы не обновить вашу конфигурацию lint'инга?
Лично я люблю использовать // eslint-disable-line
, чтобы вставить console
для быстрой проверки работы сервиса, не позволяя среде разработки мешать из-за нарушения протокола. (Я обычно запрещаю console
и использую класс логирования, который иногда основывается на console
.)
Для указания нескольких правил игнорирования на следующей строке, перечислите их через запятую. Например:
// eslint-disable-next-line class-methods-use-this, no-unused-vars
Таким образом, вы можете одновременно отключить несколько правил ESLint для данной строки кода.
Вот перевод вашего ответа в стилe StackOverflow:
Мой ответ похож на другие, но показывает, как вы можете также добавить комментарий к себе на той же строке.
// eslint-disable-line // ЭТО НЕ СРАБОТАЕТ
Используйте --
, если вам также нужно написать комментарий на этой строке (например, почему eslint отключен).
// eslint-disable-line -- комментарий для себя (Это СРАБОТАЕТ)
Это можно использовать совместно с конкретными правилами eslint для игнорирования:
// eslint-disable-line no-console -- комментарий для себя (Это тоже работает!)
Если у вас есть дополнительные вопросы, не стесняйтесь задавать!
Чтобы отключить отдельное правило ESLint для всей части кода в файле, вы можете использовать комментарий в формате /* eslint-disable правило */
, как показано ниже:
/* eslint-disable no-undef */
const uploadData = new FormData();
/* eslint-enable no-undef */ // Это опционально, если вы хотите снова включить правило после данного блока кода
Если вы хотите отключить правило только для конкретной строки, вы можете использовать комментарий на той же строке:
const uploadData = new FormData(); // eslint-disable-line no-undef
Таким образом, вы сохраняете контроль над правилами ESLint, отключая их только там, где это необходимо.
Где найти документацию по форматированию даты в JavaScript?
В чем разница между String.slice и String.substring?
Проверка соответствия строки регулярному выражению в JS
Существует ли ссылка на "последнюю" библиотеку jQuery в Google APIs?
Как создать диалог с кнопками "Ок" и "Отмена"