2013-04-05 14 views
9

Girinti zorlama seçeneği etkinken jshint kullanıyorum ve 4 olarak ayarlayın ve kod tabanında çoğu dosya için bu şekilde saklamak istiyorum.JSHint girintisini devre dışı bırakma yalnızca belirli bir dosya için işaretleme

Yine de belirli bir dosyada, bu denetimi devre dışı bırakmak istiyorum.

Ben üstündeki jshint yorumunu ekleyerek denedim ama işe yaramadı: Bu sözdizimi diğer seçenekler için çalıştığı için

/* jshint indent: false */ 

Bu çok kötü. Örneğin, ben aşağıdaki CamelCase zorlama seçeneği devre dışı bırakabilirsiniz:

/* jshint camelcase: false */ 

Bunu nasıl yapabilirim?

Bazı yanıtlar bu girinti otomatik beyaz seçeneği sağlıyor önermek, ama şunları denedim ve işe ya yaramadı:

/* jshint white: false */ 
+0

Sitelerinde onunla oynadığımda, girinti girişi için küçük bir tamsayı beklediğini belirtti. Bu yüzden benim tahminim, bir varsayılanı geçersiz kılmanın bir yolu yoktur. Github sayfalarında bir sorun açmak isteyebilirsiniz: https://github.com/jshint/jshint/issues –

+0

Tabii bu sayfa için sadece belirli bir girinti belirtmek isterseniz, bunu doğrudan ayarlayabilirsiniz. Sadece tamamen görmezden gelmenin bir yolu gibi görünmüyor. Hangi eklenti/komut satırı aracını kullandığınıza bağlı olarak, dosyayı tamamen yok saymak veya bu dosya için farklı bir yapılandırma dosyasına başvurmak için JSHint'i de edinebilirsiniz. –

+0

Evet, gördüğüm de bu, jshint, girintiden sonra bir int bekliyordu. –

cevap

2

Bu mümkün değil. değeri Gelmez 0'dan büyük bir tamsayı değilse

size soru üzerine yorumlarda fark ettik gibi
if (typeof val !== "number" || !isFinite(val) || val <= 0 || Math.floor(val) !== val) { 
    error("E032", nt, g[1].trim()); 
    return; 
} 

, bu bir hata döndürür şu şekildedir: JSHint indent seçeneğinin değerini doğrular aslında bu tamsayıya bir maksimum sınır koymak.

JSHint'i nasıl çalıştırdığınıza bağlı olarak, girintiye önem vermeyen dosyalar için varsayılan yapılandırmanızı geçersiz kılabilirsiniz. Ben bu soruna yönelik bir düzeltme önerisi ile opened a pull request var

grunt.initConfig({ 
    jshint: { 
     options: { 
      /* Don't set indent here */ 
     }, 
     uses_defaults: ["somefile.js"], 
     with_overrides: { 
      options: { 
       indent: 4 
      }, 
      files: { 
       src: ["someotherfile.js"] 
      } 
     } 
    } 
}); 

Güncelleme

, böylece göz kulak ve biz eğer göreceksiniz: Örneğin, JSHint Grunt task ile bunu yapabilirsiniz Bu işlevsellik, JSHint ekibinin eklemek istediği bir şeydir.

+0

Bu şimdi düzeltildi gibi görünüyor. –

+0

Evet, bu JSHint 2.0.0'dan itibaren düzeltildi. –