Comment puis-je vérifier le code JavaScript pour les erreurs de syntaxe seulement à partir de la ligne de commande?
les programmes JavaScript peuvent être vérifiés pour les erreurs dans IDEs ou en utilisant applications Web en ligne mais je cherche un moyen de détecter les erreurs de syntaxe seul .
j'ai essayé JSLint et JSHint et j'ai regardé leurs options mais je n'ai pas été capable de trouver une combinaison qui exclurait les avertissements et montre juste les erreurs de syntaxe .
Comment puis-je vérifier le code JavaScript pour les erreurs de syntaxe seule à partir de la ligne de commande?
6 réponses
la solution est d'activer l'option --verbose
de jshint, qui affiche le code d'erreur ou d'avertissement (par exemple E020
pour Expected '}' to match '{'
ou W110
pour Mixed double and single quotes
), puis grep pour les erreurs seulement:
jshint --verbose test.js | grep -E E[0-9]+.$
JSHint fait ce que vous voulez. http://www.jshint.com /
vous pouvez configurer quels avertissements ou erreurs afficher.
un exemple:
$ jshint myfile.js
myfile.js: line 10, col 39, Octal literals are not allowed in strict mode.
1 error
tout analyseur JavaScript devrait faire", acorn
mentionné par @cweise est agréable parce qu'il est rapide et dispose d'un commutateur --silent
.
vous pouvez également utiliser esvalidate
du npm esprima
paquet: http://ariya.ofilabs.com/2012/10/javascript-validator-with-esprima.html
$ npm install -g esprima
$ esvalidate js-file-with-errors.js
js-file-with-errors.js:1: Invalid left-hand side in assignment
j'avais le MÊME PROBLÈME, MAIS j'avais aussi besoin de valider des problèmes spécifiques à IE8 et de valider le code js dans les fichiers html, aspx, ascx et cshtml.
j'ai créé simple open source console tool (basé sur Microsoft.JScript.Compilateur), peut-être qu'il peut vous aider. JsParser.Cmd
il est très facile à utiliser et il m'aide à valider le code js dans les tests nunit.
Voici une réponse pour un scénario D'Intégration Continue.
1-vérifie tous les fichiers JavaScript avec exclure le dossier, le sous-dossier et les caractéristiques du fichier.
2 - Quitter s'il y a une erreur.
esvalidate --version || npm install -g esprima;
find ./ -not \( -path ./exclude_folder_1 -prune \) -not \( -path ./exclude/sub_folder -prune \) -not \( -path ./exclude/sub_folder_2 -prune \) ! -name exclude_specified_file.js -name \*.js -exec esvalidate '{}' \; | grep -v "No syntax errors detected" && echo "Javascript Syntax error(s) detected" && exit 1;