2012-01-21 33 views

Odpowiedz

2

nie można zrobić bez zmiany pliku javascript, który napędza jslint.

Dla mnie formularz funkcyjny to marna praktyka pracy, dlatego nie może wymuszać na innych.

Nie wszyscy muszą łączyć i minifikować, ale nawet gdybym to zrobił, połączyłem kod, który zastosował te same reguły, więc wystarczałoby podanie pliku.

Chociaż jshint ma dokładnie taką funkcję, jakiej potrzebujesz. Najnowszy jslint jest teraz bardziej zaawansowany niż jshint, dostrzegając więcej słabości i radzi sobie z bardziej skomplikowanym kodem. Lubię jshint, ale nie nadąża z jslint.

14

Według Crockford's post, będziemy chcieli, aby zawinąć wszystko w funkcji ...

(function() { 
    "use strict"; 
    // the rest of your file goes here... 
}()); 

Można również użyć jshint zamiast, który posiada opcję „globalstrict”, który może zrobić dokładnie to, co masz bez potrzeby zawijania wszystkiego w funkcji

+2

„Jeżeli plik z«use strict»; preambuła jest niechlujny kod dołączony do niego kod niechlujstwa będą przetwarzane tak surowe i prawdopodobnie nie uda.” To jest, kiedy chcesz umieścić go w funkcji. Nie cały czas. Cały mój kod jest surowy, więc nie ma dla mnie zastosowania. –

+0

Czy sprawdziłeś jshint, tak jak zaleciłem? –

0

Rozwiązaniem, które znalazłem w tym celu było utworzenie pliku pojedynczego wiersza z "use strict"; i nic innego

Dodać, że pierwszy plik w pakiecie konkatenacji, dodaj go do jslint na wykluczyć listę przełączyć niechlujstwa = true pragmy

Mogą wystąpić pewne skutki uboczne wokół nie dowieziono kod niechlujstwa, ale moje rozumienie z dokumentów jest to, że po prostu sprawdza "ścisłe użycie"; linia

-3

Oto hack do tłumienia "Użyj formularza funkcji" użyj ścisłego "."

$ uname -a 
    Darwin 13.0.0 Darwin Kernel Version 13.0.0 
  1. dowiedzieć się, gdzie jest twoja dystrybucja jslint.

    $ which jslint 
    /usr/local/bin/jslint 
    $ ls -l /usr/local/bin/jslint 
    lrwxr-xr-x 1 root admin 40 11 Feb 2013 /usr/local/bin/jslint -> ../lib/node_modules/jslint/bin/jslint.js 
    $ cd /usr/local/lib/node_modules/jslint/ 
    $ ls 
    LICENSE  README.md lib  package.json 
    Makefile bin  node_modules 
    
  2. Skomentuj ostrzeżenie.

    $ sudo vim lib/jslint.js 
    
    search for 'function_strict' 
    comment out the line 'warn('function_strict');' 
    note: the exact line might vary on some versions but just comment it out. 
    
  3. Jeśli to nie zadziała, to zapewne masz wiele wersji zainstalowanego jslint i nie edytowane właściwy.

    sudo find/-name jslint.js 
    
Powiązane problemy