2014-05-17 13 views

Odpowiedz

5

Wygląda na to, że zmiana, o której tutaj mowa, faktycznie umożliwia określenie opcji przesłaniania dla poszczególnych plików. Możesz dodać do swojej konfiguracji właściwość overrides, której wartość powinna być obiektem. Klucze tego obiektu są traktowane jako wyrażenia regularne, względem których testowane są nazwy plików. Jeśli nazwa pliku analizowane dopasowuje overrides regex następnie opcje określone dla tej ręcznym będą miały zastosowanie do tego pliku:

Jest przykładem tego w pliku diff cli.js testowym w commit ty związane z:

{ 
    "asi": true, 
    "overrides": { 
     "bar.js$": { 
      "asi": false 
     } 
    } 
} 

W tym przykładzie występuje pojedyncze nadpisanie, które będzie stosowane do wszystkich plików pasujących do wyrażenia regularnego bar.js$ (co wygląda trochę na niedopatrzenie, ponieważ . będzie pasować do dowolnej postaci i prawdopodobnie będzie pasować tylko do literału . postaci).


Powiedziawszy to wszystko, nie wygląda na to, że nieruchomość overrides zamierza pomóc. Myślę, że faktycznie potrzebujesz nowego pliku .jshintrc w danym katalogu. JSHint szuka pliku rozpoczynającego się w katalogu analizowanego pliku i przesuwa się w górę drzewa katalogów, dopóki go nie znajdzie. Cokolwiek znajdzie najpierw, to ten, który zostanie wykorzystany. From the docs:

W przypadku .jshintrc, JSHint będzie zacząć szukać tego pliku w tym samym katalogu, co plik, który jest lintowane. Jeśli go nie znajdziesz, przejdzie o jeden poziom wyżej w drzewie katalogów aż do katalogu głównego systemu plików.

Powszechnie stosowanym rozwiązaniem jest oddzielne konfiguracje JSHint dla kodu aplikacji i kodu testowego. Pozwala to na oddzielne definiowanie różnych środowisk i globali.

+1

"Aplikacja szuka pliku rozpoczynającego się w katalogu analizowanego pliku i przesuwa się w górę drzewa katalogów, dopóki go nie znajdzie." Jesteś pewny? Próbowałem tego pierwszy i to nie działało. – Icarus

+2

Tak, używam tej konfiguracji przez cały czas. Zmieniłem moją odpowiedź, aby dołączyć również odpowiednią część dokumentacji. Należy pamiętać o tym, że ponieważ JSHint zaczyna szukać pliku '.jshintrc' w katalogu plików linted i działa w górę, nie ma możliwości łączenia opcji z konfiguracji w wyższych katalogach. –

Powiązane problemy