2011-10-02 21 views
23

JSLint funciona bien para un solo archivo JavaScript. Recientemente, comencé a dividir mi programa en varias partes.JSLint con varios archivos

No quiero enhebrar las piezas cada vez que uso JSLint para verificar mi código. ¿Cuál es la solución estándar para manejar archivos múltiples con JSLint?

+0

Usamos la versión automatizada usando scripts NAnt y en este proceso de compilación ejecutamos una tarea para JSLint que acepta una lista de archivos. No sé si esto funcionaría para usted, pero de todos modos. –

Respuesta

23

Hay una versión de JSLint (node-JSLint) (línea de comandos) que le permite verificar varios archivos a la vez. Siga el enlace para su descarga en GitHub:

https://github.com/reid/node-jslint

Los siguientes ejemplos de llamadas a través de línea de comandos:

JSLint app.js 
JSLint lib/lib worker.js/server.js # Multiple files 
JSLint - white - onevar - regexp app.js JSLint # All options supported 
JSLint - bitwise false app.js # Defaults to true, but You Can Specify false 
JSLint - goodparts - # undef false app.js The Good Parts, except undef 
JSLint-gp app.js # Shorthand for - goodparts:-gp 
find . -name "*.js" -print0 | xargs -0 jslint # JSLint JSLint your Entire Project 

Nota: Esta aplicación fue desarrollada para NodeJS.

+0

Gracias. Entonces, ¿esto es solo para usuarios de nodos? ¿Tengo que tener un nodo instalado? – Randomblue

+0

Randomblue, aparentemente no es necesario, pero debe tener dos módulos js requeridos por el programa (nopt.js y fs.js). –

1

También puede ver aquí: https://github.com/mikewest/jslint-utils Debería funcionar con Rhino o NodeJS. También puede pasar múltiples archivos para verificar. Nota: si usted tiene un script de línea de comandos que no toma varios archivos como argumentos, siempre se puede hacer algo como: ls public/javascripts/**/*.js | jslint

0

(Esto está tomado de this link y formateado)

Rhino es un motor de Javascript eso está escrito completamente en Java. Se puede usar para ejecutar JSLint desde la línea de comandos en sistemas con intérpretes de Java.

Rhino puede ejecutar el archivo jslint.js. Leerá un programa de JavaScript de un archivo. Si no hay problemas, termina silenciosamente. Si hay un problema, emite un mensaje. La edición WSH de JSLint no produce un informe de función.

Una forma de ejecutar JSLint es con este comando:

C:\> java org.mozilla.javascript.tools.shell.Main jslint.js myprogram.js 

Se ejecuta Java, que carga y ejecuta Rhino que carga y ejecuta jslint.js, que leerá el archivo y myprogram.js informar de un error si encontró.

Descargar jslint.js.

2

Puede ejecutar JSLint contra archivos HTML, no solo contra archivos JavaScript (lo cual tiene sentido, debido a la etiqueta <SCRIPT>). Y JSLint es inteligente con las secuencias de comandos externas: si las puede ubicar, las cargará como parte del proceso. Así que trate de algo como esto:

<html> 
    <head> 
     <script src="file1.js"></script> 
     <script src="file2.js"></script> 
     ... 
     <script>mainRoutine();</script> 
    </head> 
</html> 

Run JSLint en que, en lugar de en cada uno de sus archivos.

2

La aplicación de línea de comandos JavaScript Lint (http://www.javascriptlint.com/) funciona con varios archivos y puede recurse directorios. P.ej.

%JSLPATH%\jsl.exe +recurse -process src\scripts\*.js 
1

Si usted no necesita una cuenta corriente de errores, terminal abierto (en OS X) y pegar esto:

for i in $(find . -iname "*.js"); do jshint $i; done 
+0

puede reemplazar el hallazgo. con find/path/ –

14

¿Qué pasa con sólo correr el comando?

jslint . 

comprobará todos los archivos js en el directorio actual y volverá a aparecer en el árbol.

+6

... que incluirá todo en su directorio node_modules. –

+1

Tenga en cuenta que si utiliza JS ** H ** int, es posible excluir directorios de varias formas (por ejemplo, opción '--exclude dir'). Consulte http://jshint.com/docs/cli/ sección "ignorar archivos". –