Einfache Weise, zu überprüfen/validieren javascript-syntax
Habe ich einige große Reihe von verschiedenen javascript-snippets (mehrere tausend), und einige von Ihnen haben einige dumme Fehler in der syntax (wie unmatching Klammern/Anführungszeichen, HTML in javascript, Tippfehler in Variablennamen).
Ich brauche eine einfache Möglichkeit um zu überprüfen, JS-syntax. Ich habe versucht, JSLint, aber es senden auch viele Warnungen über Stil, Art der Variablen-Definitionen, etc.. (auch wenn ich schalten Sie alle flags). Brauche ich nicht, um herauszufinden, Stil Probleme, oder verbessern Sie javascript Qualität, ich muss nur offensichtliche syntax-Fehler. Natürlich kann ich einfach überprüfen, in browser/browser-Konsole, aber ich brauche, um es automatisch zu tun, als die Anzahl der Schnipsel ist groß.
Hinzufügen:
JSLint/JSHint-Berichte eine Menge Probleme in den Zeilen, die sind nicht 'Schönheit', sondern arbeiten (D. H. Sie haben einige Potenzial Probleme), und nicht sehen können, die real Probleme, wo der normale compiler einfach melden syntax-Fehler und beenden Sie die Ausführung. Versuchen Sie zum Beispiel, JSLint, dass code, der syntax-Fehler in Zeile 4 (unvergleichliche Zitate), Linie 6 (Komma erforderlich) und Linie 9 (unerwartete <script>).
document.write('something');
a = 0;
if (window.location == 'http://google.com') a = 1;
document.write("aaa='andh"+a+"eded"');
a = {
something: ['a']
something2: ['a']
};
<script>
a = 1;
hmmm... Danke, ich werde es versuchen. Ich dachte, es ist einige Klon von JSLint, aber es funktioniert anders.
InformationsquelleAutor filimonov | 2013-03-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen,JSHint, die weniger ausführlich.
InformationsquelleAutor Piet van Dongen
Habe ich herausgefunden, dass SpiderMonkey hat die Fähigkeit, compile script ohne es auszuführen, und wenn die Kompilierung fehlgeschlagen - es gibt Fehler.
So, das ich erstellt habe kleine wrapper für SpiderMonkey
Und javascriptlint.com auch der sich sehr gut in meinem Fall. (Dank an @rajeshkakawat).
JSLint ist nicht gut für die Syntaxprüfung meldet es einige kleine Probleme, aber sehe nicht wirklich schlechte und gefährliche Dinge. Versuchen Sie dieses: Dokuments.write('etwas'); a = 0; if (window.Standort == 'google.com') a = 1; Dokument.write("aaa='undh"+a+"eded"'); a = { etwas: ['a'] something2: ['a'] }; <script> a = 1; so Wie ich das verstehe SpiderMonkey ist die JS-engine in Firefox, so dass, wenn hinzufügen/nicht hinzufügen Semikolons genau wie Firefox tun.
wusste nicht, dies war Ihre eigene Antwort! Zusammenstellung nicht zu finden, Tippfehler im Namen, etc. Erstellen Sie eine Teilmenge von JSLint, die dem entspricht, was Sie wollen gemeldet haben, würde Ihnen genau, was Sie wollen, denke ich, und würde auch Bericht fehlt ein Semikolon, die können bork, unter anderem multi-Datei-minified code.
in der Praxis, und in meinem Fall JSLint-Fehler-Bericht mehrere Megabyte text - Lesen/fixieren, dass wird Jahre dauern 🙂 Einige Skripte hängen von 3rd-party-code, so ist es wirklich schwer zu verstehen, wenn einige Variablen verwendet, einmal wegen der Schreibfehler, denn es wurde erklärt, somethere anderes. In der Regel gründete ich mehrere Dutzende von syntax-Probleme mit SpiderMonkey, und ich fast safisfied. Ich werde versuchen auch javascriptlint, und kann versuchen heraus zu filtern, JSLint-Ergebnisse zu ignorieren, die nicht kritische Probleme (es meldet alles, was als 'Fehler' :\ )
InformationsquelleAutor filimonov
Nur falls jemand noch auf der Suche, die Sie könnten versuchen Esprima,
Es prüft nur die syntax, sonst nichts.
InformationsquelleAutor Kevin Whitefoot
Viele Optionen, wenn Sie eine vollständige Liste der JSLint-Fehler, die Sie tun aufnehmen möchten.
JSLint-code ist eigentlich ganz gut und ziemlich einfach zu verstehen (ich nehme an, Sie wissen bereits, JavaScript Recht gut von deiner Frage). Sie könnte es zu hacken, um nur zu überprüfen, was Sie wollen, und so weiter, egal wie viele Fehler er findet.
Könnte man auch etwas schreiben, schnell in Node.js verwenden JSLint, um jede Datei prüfen/snippet schnell und die Ausgabe nur diejenigen Fehler, die Sie interessieren.
InformationsquelleAutor ruffin
Semantic Designs' (meine Firma) JavaScript formatter Lesen JS-Dateien und-Formate. Sie wollen nicht die Formatierung Teil.
Zum Lesen der Dateien wird es format, es verwendet eine vollständige JavaScript-parser, der eine vollständige syntax-check (sogar innerhalb von regulären Ausdrücken). Wenn Sie starten Sie es und ignorieren Sie das formatierte Ergebnis erhalten Sie einen syntax-checker.
Können Sie große Liste von Dateien, und es wird formatieren Sie alle von Ihnen. Sie könnten dies nutzen, um batch-überprüfen Sie Ihre große Menge. (Wenn es irgendwelche Syntaxfehler, es gibt einen ungleich null-Fehler-status in einem shell -).
1. Hart, um eine Antwort auf die Anforderungen, die Sie nicht zunächst. 2) Nicht so schwer, sehen, Kaufen-Seite links. 3) befasst sich mit software, die unter Wine auf Linux, das funktioniert ganz gut.
InformationsquelleAutor Ira Baxter