Есть ли способ подавить предупреждение JSHint для одной заданной строки?

У меня (один) случай в моем приложении были eval, и я хотел бы подавить предупреждение JSHint только для этого случая.

Есть ли способ достичь этого? Конфигурация, волшебный комментарий,...?

Ответ 1

Да, есть способ. Два на самом деле. В октябрь 2013 г. jshint добавил способ игнорировать блоки кода следующим образом:

// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
// Code here will be linted with JSHint.

Вы также можете игнорировать одну строку с завершающим комментарием следующим образом:

ignoreThis(); // jshint ignore:line

Ответ 2

"Злой" ответ не сработал у меня. Вместо этого я использовал то, что было рекомендовано на странице docs на странице JSHints. Если вы знаете предупреждение, которое выбрано, вы можете отключить его для блока кода. Например, я использую какой-то сторонний код, который не использует функции случая верблюда, но мои правила JSHint требуют этого, что привело к предупреждению. Чтобы заставить его замолчать, я написал:

/*jshint -W106 */
save_state(id);
/*jshint +W106 */

Ответ 3

Как вы можете видеть в документации JSHint, вы можете изменять параметры для каждой функции или для каждого файла. В вашем случае просто поместите комментарий в свой файл или даже более локальный только в функции, которая использует eval:

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}