Belirli bir hat için JSHint uyarısını bastırmanın bir yolu var mı?


264

Benim app evalkullanılan bir (tek) dava var ve ben sadece bu durumda JSHint uyarı bastırmak istiyorum.

Bunu başarmanın bir yolu var mı? Yapılandırma, sihirli yorum, ...?

Yanıtlar:


465

Evet, bir yolu var. Aslında iki. In Ekim 2013 jshint böyle kod bloklarını görmezden için bir yol ekledi:

// 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.

Ayrıca, aşağıdaki gibi bir açıklama içeren tek bir satırı göz ardı edebilirsiniz:

ignoreThis(); // jshint ignore:line

JSHint Sublime Text 2/3 eklentilerinin çalışmasını isteyen herkes için, jshint'i özellikle ST paket klasöründe yükseltmeniz gerekecektir. (Ben özellikle JSHint Gutter ile koştu)
Josh

7
Yalnızca belirli bir hatayı yok saymak mümkün mü? Örneğin. Bu satırda makslen, ancak yine de diğer hataları algılar.
Jürgen Paul

4
için çok şükür // jshint ignore:line- harika çalışıyor;(function() { // jshint ignore:line
katy lavallee

4
"Yoksay" seçeneği kullanımdan kaldırılmıştır ve tutulmada JSHint Integration özelliğinin 0.9.9 sürümünü kullanarak "kötü seçenek" hatasını alıyorum. Aynı şeyi yapmanın alternatif bir yolu var mı?
MidnightJava

2
Etrafa var bad option: 'ignore'spesifik kullanarak seçeneği ihmal istiyorum limitine. Benim durumumda görmezden gelmek istedim if (x == null)çünkü sadece null değerine eşit olmasını istiyorum ve JSHint'i susturmakla /* jshint eqnull:true */aynı işlevde ifkullanıyorum.
Nate

102

"Kötü" cevap benim için işe yaramadı. Bunun yerine, JSHints dokümanlar sayfasında önerilenleri kullandım . Atılan uyarıyı biliyorsanız, bir kod bloğu için bunu kapatabilirsiniz. Örneğin, deve durum işlevleri kullanmayan bazı üçüncü taraf kodları kullanıyorum, ancak JSHint kurallarımın gerektirdiği bir uyarı var. Susturmak için şunu yazdım:

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

15
Ve uyarı numaramı nasıl bulabilirim?
11684

3
Jshint'i çalıştırdığınızda ve ilk başta hatayı aldığınızda, sayı bildirilir.
tollmanz

5
Ay pardon. Bir yorum bıraktım unuttum, bu yüzden dokümanlar kontrol ettikten sonra bir şey yayınlamadı. --verboseUyarı numarasını almak için komuta eklemeniz gerekmez .
11684

9
Alternatif olarak, bu ilgili sorunun cevabı messages.js dosyasının kontrol edilmesini önerir . WebStorm kullandığım için bunu oldukça yararlı buldum.
Michael Jess

3
Tüm uyarı, hata ve bilgi numaralarına buradan ulaşabilirsiniz: github.com/jshint/jshint/blob/master/src/messages.js
Anderson Arboleya

37

JSHint'in belgelerinde görebileceğiniz gibi, işlevleri veya dosya başına seçenekleri değiştirebilirsiniz . Sizin durumunuzda, dosyanıza bir yorum veya sadece aşağıdaki işlevde daha da yerel bir yorum yapın eval:

/*jshint evil:true */

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

fwiw, bu benim için 2.1.9 ile işe yaramadı ama
2.1.11'e
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.