23

JSLintを使用したいのですが、フィルタリングされていないソース コードにアクセスできるツールには注意が必要です。オフライン バージョンはありますか、またはlintJavaScript オフラインの「エラー チェック」を行う同様のツールは他にありますか?

編集: GUI を備えたもので、コマンド ライン インターフェイスの代わりに、エラーのスタイル付きリストを表示しますか?

4

17 に答える 17

16

JSLint Web インターフェイスが気に入った場合は、ローカル フォルダーに対してFile>Save Page As...およびSave as type: Web Page, complete(Firefox では、Internet Explorer での実行は若干異なる場合があります) を実行できます。

名前を に変更してjslint.htm、スペースなしで 8.3 未満にします。

ローカルに保存すると動作するようです。

三つのこと:

  1. これは彼のライセンスに違反している可能性がありますが、私は著作権をそのままにして彼のコードを一切変更していません。技術的には、私の Web ブラウザはすでに私のローカル HD に彼のサイトのコピーを作成していました。違反かどうか、そして私は弁護士ではないので、やめるようにとの手紙を受け取るまでこれを続けます.
  2. ページは何らかの方法でコードをインターネットに送信できる可能性がありますが、可能性は非常に低いです。とは言うものの、WSH または Rhino のバージョンは、おそらくローカルに保存された Web ページのバージョンよりも簡単に、送信したコードをインターネットに送信できます (偏執的である場合)。
  3. Douglas が行ったバグの修正や更新については、遅れをとることになります。ただし、定期的に更新しない場合、WSH または Rhino のバージョンにも同じことが当てはまります。
于 2009-05-07T19:32:09.917 に答える
13

JSLint は、WSH または Rhino を使用してオフラインで実行できます。

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

編集: この質問がされてから 2 年間で、JSLint は Rhino と WSH のサポートを終了しました。コードの lint に興味がある人は、 JSHintもチェックすることをお勧めします。これは JSLint のフォークであり、オリジナルよりも柔軟であることを目的としていますが、たまたま Node、Rhino、および WSH (もちろんブラウザーに加えて) もサポートしています。

于 2009-05-07T19:10:30.063 に答える
11

はい:

基本的に、組み込みの JavaScript コンパイラを実行する必要があるだけですjslint.js

于 2009-05-07T19:12:56.017 に答える
5

JavaScript Lintと呼ばれる別の JS Linter があり、オンライン バージョンとダウンロード可能なコマンド ライン バージョンの両方があります。いつもダウンロード版を使っています。フックの一部としてSVNに統合することを考えていました。より多くのオプションがあり、より多くのものを検出するように見えるため、JSLint よりも気に入っています。ツールキットなどのために、特定の識別子を定義済みとして扱うように構成できます。これにより、未定義の変数の使用をチェックできますが、これは JSLint ではできないと確信しています。

于 2009-05-07T19:54:40.283 に答える
4

Java 環境を使用している場合は、私のjslint4javaツールが役立つことがあります。これはコマンド ライン バリアントで提供され、ant スクリプトに統合することもできます。私はそれらが苦手なので、GUIはありません。:-)

于 2009-05-08T10:30:17.747 に答える
3

YSlow for Firebugにはこの機能が組み込まれています

于 2009-05-07T19:11:02.697 に答える
2

TextMate を使用している場合は、JSLint を実行してグラフィカル ウィンドウに出力を表示するバンドルを作成しました。すべて自己完結型です。それを使用するために他に何もインストールする必要はありません:

GitHub で JSLint.tmbundle を表示

于 2010-10-06T17:38:08.000 に答える
1

Cory Bennet は、コマンドライン JSLint に関する良い投稿をしています。セットアップの大部分は、SpiderMonkeyを機能させるためのものです。Linux を実行している場合はそれほど悪くはありません。Windows とCygwinを使用している場合は、少し難しくなります。ここでは、Rhino ランタイムとのさらなる議論と比較を示します。

更新: 2013.11 - コマンドラインで node.js を使用している場合 (なぜ使用しないのですか?)、jslintと新しいeslintの両方を実行できます。[NB: 私はバグレポートとテストコードを eshint に寄稿しました

于 2009-06-10T01:51:39.897 に答える
1

Google Closure Linterを試してください。JSLint よりも多くの機能も備えています。

于 2012-03-20T19:44:29.820 に答える
0

ブラウザでダウンロードする代わりに、ソースを直接ダウンロードすることもできます。これには、バージョン管理システムでそれらを更新し、コメント付きのソース コードを読み取ることができるという利点があります。

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

これにより、HTML と JS のソース ファイルが得られますが、そのままでは使用できません。のビルド プロセスに従いますREADME。簡単に言えば、git cloneDouglas Crockford の他の 2 つの JS プロジェクトを作成し、3 つすべての git リポジトリからいくつかの JS ファイルを連結 (および最小化)する必要がありますweb_jslint.js

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

次にjslint.html、ブラウザで開きます。

于 2012-07-15T00:00:11.420 に答える
0

すばらしい Yahoo ウィジェットがあります。

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

これはオープン ソースです。もし偏執的であれば、コードを監査できます。

代替テキスト
(出典: googlecode.com )

于 2010-04-08T12:51:18.073 に答える
0

すでに ruby​​ gem を使用している場合は、jslint gem を 1 つのコマンドでインストールできます: http://rubygems.org/gems/jslint

于 2011-12-14T15:20:10.623 に答える
0

デプロイ スクリプトに Node.js 検証コードを含む JSLint を使用して、サイトを壊す可能性のあるコードを誤ってプッシュしないようにしています。後でカスタマー サポートの問題を処理する時間を大幅に節約できます。

于 2011-01-04T16:09:02.060 に答える
0

TextMate を使用している場合、JSLintMateバンドルにはシンプルなインターフェースがあり、 JSLint とJSHintの両方をサポートし、さまざまな方法でカスタム オプションを設定できます (たとえば、プロジェクトごとの構成ファイル、すべてのプロジェクトにわたるグローバル オプション)。

JSLintMate のスクリーンショット

于 2011-05-20T17:31:40.083 に答える
0

JSLint 自体は JavaScript で記述されているため、HTML および参照されている JavaScript ファイルをローカルにコピーすることで、オフラインで実行できます。IE7の「名前を付けて保存...」「Webページ、完全」機能はこれをうまく行います。

于 2009-05-07T19:37:10.730 に答える
0

Crockford が JSLint.com に持っているものを再現するのはとても簡単です。JSLint.com のオンライン バージョンの .jsは、いくつかのファイルの縮小された集合体であり、そのようADSAFEものなど、よくわからないオーバーヘッドが含まれています。代わりに、最も単純なケース ラッパーに分解しましょう。

JSLint 用の独自の HTML ラッパーを作成する:

これは、同じディレクトリでjslint.js (現在、JSLint の最新バージョンはgithub の生のテキストとしてここにあります) を探し、JSLint.com が現在行っているのと同様の方法で起動する Web ページのコードです。

<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>

^私の古いブログ投稿より.

GUI をよりグーイーなものにするかどうかは、ことわざの読者次第ですが、これは、JSLint サイトと同様に報告されています。

ラッパー コードからのサンプル JSLint 出力

于 2015-03-31T14:11:48.313 に答える