Frage

Ich möchte verwenden JSLint, aber ich bin vorsichtig bei Tools, die Zugriff auf meinen ungefilterten Quellcode haben.Gibt es eine Offline-Version oder gibt es ein anderes ähnliches Tool, das „lint Fehlerprüfung“ für JavaScript offline?

Bearbeiten: Eines mit einer grafischen Benutzeroberfläche, die Ihnen eine gestaltete Fehlerliste anstelle einer Befehlszeilenschnittstelle anzeigt?

War es hilfreich?

Lösung

Wenn Sie die JSLint Web-Interface , können Sie File> Save Page As... und Save as type: Web Page, complete (in Firefox, tut es in Internet Explorer kann etwas anders sein) in einem lokalen Ordner.

ich den Namen ändern jslint.htm es ohne Leerzeichen unter 8.3 zu erhalten.

Es scheint, wenn sie lokal gespeichert zu arbeiten.

Drei Dinge:

  1. Dies kann seine Lizenz verletzen, obwohl ich das Urheberrecht intakt lassen und jeder seinen Code nicht ändern und technisch mein Web-Browser bereits eine Kopie seiner Website auf meinem lokalen HD, also bin ich nicht sicher, ob ich ist in Verletzung oder nicht, und ich bin kein Jurist, damit ich dies zu tun halten werde, bis ich einen Brief zu sagen, mich zu stoppen bekommen.
  2. Die Seite kann irgendwie noch in der Lage sein, den Code an das Internet zu senden, obwohl die Chance, es möglich ist, sehr abgelegen ist. Das heißt, die WSH oder Rhino-Versionen wahrscheinlich den Code senden könnten Sie mit dem Internet einfacher als eine Version in einer lokal gespeicherten Web-Seite einreichen (wenn du paranoid bist).
  3. Sie werden hinter fast jedem Bug-Fixes oder Updates Douglas tut. Aber das gleiche gilt für die WSH oder Rhino-Versionen, wenn man sie nicht regelmäßig aktualisiert werden.

Andere Tipps

JSLint ausgeführt werden kann offline mit entweder WSH oder Rhino:

http://www.jslint.com/lint.html#try

Bearbeiten : In den zwei Jahren seit dieser Frage gestellt wurde, hat JSLint fällt die Unterstützung für Rhino und WSH. Ich ermutige alle Interessierten in linting ihren Code auch JSHint zu überprüfen. Es ist ein Fork von JSLint, die flexibler sein soll als das Original, aber auch geschieht, Knoten, Rhino und WSH unterstützen (zusätzlich zu Browsern, natürlich).

Ja:

Im Grunde brauchen Sie nur einen eingebetteten JavaScript-Compiler jslint.js auszuführen.

Es gibt eine andere JS Linter, genannt JavaScript Lint , die sowohl Online- und Download-Befehlszeilen-Version hat. Ich benutze die Download-Version aller Zeiten. Ich habe darüber nachgedacht, es in SVN als Teil eines Hakens zu integrieren. Ich mag es besser als JSLint, weil es mehr Optionen hat und scheint mehr Dinge zu erkennen. Es kann so konfiguriert werden, um bestimmte Kennungen als vordefinierte zu behandeln, für Toolkits und dergleichen, die es für die Verwendung von nicht definierten Variablen überprüfen kann, die ich ziemlich sicher, dass JSLint bin nicht tun kann.

Wenn Sie in einer Java-Umgebung sind, können Sie mein jslint4java Tool nützlich finden . Es kommt in einer Kommandozeilenvariante und kann auch in einen Ant-Skript integriert werden. Kein GUI, weil ich sauge schlecht bei denen. : -)

YSlow für Firebug hat diese Funktion eingebaut

Wenn Sie Textmate verwenden, ich habe ein Bündel gemacht, dass JSLint läuft und zeigt die Ausgabe in einem grafischen Fenster. Es ist alles in sich geschlossene; nichts anderes muss installiert sein, es zu benutzen:

Ansicht JSLint.tmbundle bei GitHub

Ich habe ein Werkzeug für JSLint von der Kommandozeile mit entweder den Spider Schale oder Rhino. Es enthält auch ein Plugin für Vim , die Sie auf einen Knopf drücken kann, um automatisch markieren Sie alle Problemlinien während der Bearbeitung einer Datei:

http://github.com/hallettj/jslint.vim/

Versuchen Sie, die Google Closure Linter . Es hat mehr Funktionen als JSLint auch.

Cory Bennet hat einen guten Beitrag auf Befehlszeilen JSLint . Ein Großteil der Einrichtung wird immer Spider arbeiten. Nicht so schlimm, wenn man Linux laufen lassen; ein kleines härter, wenn Sie Windows und Cygwin verwenden. Und hier sind einige mehr Diskussion und Vergleich mit Rhino Laufzeiten .

UPDATE: 2.013,11 - wenn Sie node.js auf der Kommandozeile mit (? Und warum sollte man nicht), können Sie beide JSLint und die neue eslint . [NB:. Ich habe Bug-Report beigetragen und Test-Code eshint] Beide sind Weg einfacher aufzusetzen als das, was ich oben habe ....

Da JSLint selbst in JavaScript geschrieben ist, können Sie es offline ausgeführt werden, indem die HTML kopieren und referenziert JavaScript-Dateien lokal. IE7 „Speichern unter ...“ „Webseite, komplett“ -Funktion tut dies gut.

Es gibt eine große Yahoo Widget:

http://ajaxian.com/archives/jslint-multi

Es ist Open Source, wenn Sie paranoid sind Sie den Code überprüfen können.

alt text http://jslint-multi-widget.googlecode.com /files/jslint_multi_v1_scrshot.png

Ich habe JSLint mit Node.js Validierung Code in meinem deploy Skripte, um sicherzustellen, schiebe ich nicht versehentlich Code, der meine Seite brechen könnte. Es kann später viel Zeit Umgang mit Kunden-Support-Fragen speichern.

Wenn Sie mit Textmate, die JSLintMate Bündel eine einfache Schnittstelle hat, unterstützt sowohl JSLint und JSHint , und können Sie benutzerdefinierte Optionen auf verschiedene Weise (zB eine Konfigurationsdatei pro Projekt, globale Optionen für alle Projekte) gesetzt .

JSLintMate Screenshots

Wenn Sie bereits Ruby Gems verwenden, können Sie Jslint Gem mit einem Befehl installieren:http://rubygems.org/gems/jslint

Statt mit einem Browser herunterzuladen, können Sie auch direkt herunterladen, die Quellen. Dies hat den Vorteil, dass Sie sie mit dem Versionierungssystem aktualisieren, und die kommentierten Quellcode lesen.

git clone https://github.com/douglascrockford/JSLint.git

Das gibt Ihnen HTML und JS-Quelldateien, aber Sie können sie nicht verwenden, wie sie sind. Folgen Sie den Build-Prozess in README. Auf den Punkt gebracht, müssen Sie zwei andere JS-Projekte von Douglas Crockford git clone, dann verketten (und minimieren) einige JS-Dateien aus allen drei git Repositories in web_jslint.js.

Ich habe es so, mit dem YUI Compressor:

cat ../ADsafe/adsafe.js ../JSON-js/json2.js intercept.js jslint.js > /tmp/web_jslint.uncomp.js
java -jar ../../yuicompressor-2.4.7.jar /tmp/web_jslint.uncomp.js > web_jslint.js

Dann öffnen jslint.html mit Ihrem Browser.

Es ist ziemlich einfach neu zu erstellen, was Crockford auf JSLint.com hat. JSLint.com der Online-Version der Js ein verkleinertes Konglomerat von einigen Dateien ist, dass einige Overhead I enthält verstehe nicht ganz, wie dass ADSAFE Sachen . Sagen wir es Streifen auf eine einfachsten Fall Wrapper statt.

Bauen Sie Ihren eigenen HTML-Wrapper für JSLint:

Hier ist der Code auf eine Webseite, die für jslint.js ( aussehen würde die neueste Version von JSLint kann zur Zeit gefunden wird in gitHub hier als Rohtext ) im selben Verzeichnis und Feuer in ähnlicher Weise entfernt wie JSLint.com jetzt.

<html>
    <head>
        <script src="jslint.js"></script>

        <script>
            function jslintalizeMe()
            {
                var i, divOut, errs, errsMsg = "";

                divOut = document.getElementById("errors");
                divOut.innerHTML = "";

                if (!JSLINT(document.forms[0].elements[0].value))
                {
                    errs = JSLINT.errors;
                    for (i=0; i < errs.length; i++)
                    {
                        err = errs[i];
                        if (null !== err)
                        {
                            if (undefined !== err.id)
                            {
                                errsMsg += "Error: " 
                                + err.code 
                                + " -- line " 
                                + err.line 
                                + " char " 
                                + err.character + "<br />"
                                + "    " 
                                + err.evidence + "<br />"
                                + "    " +
                                 err.reason + "<br /><br />\n";
                            }
                            else
                            {
                                errsMsg += err.reason;
                            }
                        }
                    }
                    divOut.innerHTML = errsMsg;
                }
            }
        </script>

    </head>

    <body>

        <form>
            <textarea rows="24" cols="80"
                placeholder="// Paste quality code here"></textarea>
            <br />
            <button onclick="jslintalizeMe();return false;">JSLint</button>
        </form>

        <div id="errors"></div>
    </body>
</html>

^ Von einer alten Blog-Post von mir .

Es ist die sprichwörtlichen Leser auf die GUI mehr gooey zu machen, aber diese Berichte sowie die JSLint Website tut jetzt.

Probe JSLint Ausgabe von Wrapper-Code

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top