/ / Как да кажа на JSHint да игнорира всички неопределени променливи в един файл? - javascript, jshint

Как да кажа на JSHint да игнорира всички неопределени променливи в един файл? - javascript, jshint

В Карма тестовете има много глобални променливи и функции, за които JSHint се оплаква (интегриран е в моя редактор).

Как мога да кажа на JSHint да игнорира всички неопределени променливи в този конкретен файл? Бих очаквал /* jshint undef: false */ за да изключите тези предупреждения, но не.

Отговори:

66 за отговор № 1

Правилният начин да се каже на JSHint за глобалите е да се използва globals директива. Например:

/*globals globalFunction, anotherGlobal, oneMore */

Това ще предотврати предупрежденията "{a} не са дефинирани", когато JSHint срещне някой от изброените идентификатори.

Алтернативно, ако наистина искате да игнорирате всичко "недефинирани" предупреждения в този файл и използвате JSHint 1.0.0 или по-нова версия, можете просто да изключите това специално предупреждение:

/*jshint -W117 */

7 за отговор № 2

Срещнахме този проблем с jshint този следобед. Този поправка работи за мен. Вместо да използвате "globals", опитайте да използвате "predef". Например:

{
/*
* RELAXING OPTIONS
* =================
*/

// Suppress warnings about == null comparisons.
"eqnull": true,

"predef" : ["describe", "expect", "it", "inject", "beforeEach", "angular"]
}

7 за отговор № 3

Просто добавете това правило във вашия .jshintrc файл.

"-W117": true

Това ще игнорира всички предупреждения, които казват, че "* не е дефиниран."


6 за отговор № 4

Намерих, че използвам jshint ignore:line като начин за справяне с тази нужда:

var unusedVar; // jshint игнорира: ред

Това позволява jshint да продължи да бъде полезенпроверка за това условие, но там, където има ясни причини да се игнорира конкретна декларация, отколкото да се добави това, се разглежда въпросът и го прави по начин, който веднага се вижда на всеки, който разглежда кода.

Добър пример (поне за мен) е, когато се използваES6 разрушава, за да забрани набор от преки пътища, които може или не може да използвате през цялото време. typeOf и computed, Вместо да се отнасят винаги Ember.computed далеч по-хубаво е просто да се позовем computed и имам нещо като следното в горната част на всички мои обекти Ember:

 const { computed, $, A, run, on, typeOf, debug, get, set } = Ember;    // jshint ignore:line