2012-01-21 11 views

risposta

2

non può essere fatto senza modificare il file javascript che spinge JSLint.

Per me la funzione è una pratica irritante, quindi non può forzare gli altri.

Non tutti hanno bisogno di combinare e ridurre, ma anche se lo facessi, combinerei il codice che applica le stesse regole, quindi sarebbe sufficiente una dichiarazione di file.

Sebbene jshint abbia esattamente la funzione richiesta. L'ultimo jslint è ora più avanzato di jshint, individua più debolezze e affronta un codice più complicato. Mi piace il jshint ma non sta tenendo il passo con jslint.

14

Secondo Crockford's post, ti consigliamo di avvolgere tutto in una funzione ...

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

Si potrebbe anche usare jshint invece, che ha un "globalstrict" opzione che può fare esattamente ciò che sei chiedere senza dover avvolgere tutto in una funzione

+2

"Se un file con un 'use strict'; preambolo è il codice sciatta aggiunto ad esso, il codice sciatta verrà elaborato come severo e probabilmente fallirà." Questo è quando vorrete metterlo in una funzione. Non tutto il tempo. Tutto il mio codice è rigoroso, quindi non serve a me. –

+0

Hai estratto jshint come invece mi consigliavo? –

0

La soluzione che ho trovato per questo era creare un file a riga singola con "use strict"; e nient'altro

Assicurarsi che il primo file nel pacchetto di concatenazione, inserirlo a JSLint di esclusioni, cambiare la sciatta = true pragma

Ci possono essere alcuni effetti collaterali in giro non raccogliendo il codice sciatta, ma la mia comprensione dei documenti è che controlla solo per "usare rigorosamente"; line

-3

Ecco un trucco da sopprimere "Utilizza il modulo funzione di 'use strict'."

$ uname -a 
    Darwin 13.0.0 Darwin Kernel Version 13.0.0 
  1. capire dove la vostra distribuzione 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. Commentare l'avviso.

    $ 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. Se non funziona probabilmente hanno più versioni di JSLint installato e non hanno modificato quello giusto.

    sudo find/-name jslint.js