29

JSLint Web サイトにアクセスせずに JavaScript ファイルをチェックしたいと考えています。
Windows 用のこのツールのデスクトップ バージョンはありますか?

4

16 に答える 16

13

http://www.jslint.com/lint.htmlから:

分析は、マシン上で実行されるスクリプトによって行われます。スクリプトはネットワーク経由で送信されません。

Konfabulator ウィジェットとしても利用できます。ウィジェットにファイルをドラッグ&ドロップして確認できます。ウィジェットをダブルクリックすると、ファイルを再確認できます。

また、 WSH コマンド ラインバージョンでも利用できます。

Rhino コマンド ラインバージョンでも利用できます。

または、JSLint はブラウザーで実行される JavaScript プログラムであるため、スクリプトを取得してローカルで実行することもできます。

于 2008-10-22T18:39:38.920 に答える
9

マシンで JavaScript Lint を使用することもできます。
こちらから入手してください
JavaScript Lint

上記のサイトには、多くのエディター/IDE に統合する方法の説明があります。UltraEdit で使用していますが、うまく機能します。

上記サイトより

JavaScript Lint はいくつかの方法で実行できます。

Visual Studio、SciTE、または外部ツールをサポートするその他の IDE などの IDE に統合できます。JavaScript Lint がエラーを検出すると、IDE はエラーを含む行に直接移動します。

これは、Windows プログラマーが好む Windows エクスプローラーから実行できます。

コマンド ラインを使用してビルド システムに統合することも、Linux プログラマーであり、単純にコマンド ラインを好む場合もあります。

于 2008-12-19T17:26:19.710 に答える
4

この古い質問への補遺: jslint.js の WScript バージョンは、他のコンパイラのエラー メッセージとは非常に異なるエラー メッセージを生成します。

それらを類似させたい場合、および stdin を使用してファイルを読み取るのではなく、コマンド ラインで .js ファイルの名前を指定できるようにする場合は、次のようにします。

WScript バージョンの jslint.js をダウンロードします。

jslint.js ファイルを編集します。一番下までスクロールして、これを見つけます:

 (function(){if(!JSLINT(WScript.StdIn.ReadAll(),.....

それ(およびそれに続くすべて)を次のように置き換えます。

(function(){
    var filename = "stdin";
    var content= "";
    if (WScript.Arguments.length > 0){
        filename = WScript.Arguments(0);
        var fso = new ActiveXObject("Scripting.FileSystemObject");
        //var file = fso.GetFile(filename);
        var fs = fso.OpenTextFile(filename, 1);
        content = fs.ReadAll();
        fs.Close();
        fso = null;
        fs = null;
    } else {
        content = WScript.StdIn.ReadAll();
    }
    if(!JSLINT(content,{passfail:false})){
        WScript.StdErr.WriteLine("JSLINT");
        for (var i=0; i<JSLINT.errors.length; i++) {
            // sample error msg:
            //  sprintf.js(53,42) JSLINT: Use the array literal notation [].
            var e=JSLINT.errors[i];
            if (e !== null){
                var line = (typeof e.line == "undefined")?'0':e.line;
                WScript.StdErr.WriteLine(filename + '(' +line+','+e.character+') JSLINT: '+e.reason);
                WScript.StdErr.WriteLine('    ' + (e.evidence||'').replace(/^\s*(\S*(\s+\S+)*)\s*$/,"$1"));
            }
        }}}());

この変更により、次の 2 つのことが行われます。

  1. lint を実行するファイルを、stdin としてではなく、コマンド ラインで指定できます。ファイルがまったく指定されていない場合でも、標準入力は機能します。
  2. ほとんどの C/C++ コンパイラに似た形式でエラー メッセージを出力します。

次に、cmd.exe プロンプトで、次の操作を実行できます。

cscript.exe  jslint.js   MyJavascriptModule.js 

次のようなエラーメッセージが表示されます。

JSLINT
MyJavascriptModule.js(7,17) JSLINT: 'xml' is already defined.
    var xml = new ActiveXObject("Microsoft.XMLHTTP");
MyJavascriptModule.js(10,5) JSLINT: 'xml' used out of scope.
    xml.open("GET", url, true);
MyJavascriptModule.js(11,9) JSLINT: 'xml' used out of scope.
    if (xml.overrideMimeType) {
MyJavascriptModule.js(12,9) JSLINT: 'xml' used out of scope.
    xml.overrideMimeType('text/plain; charset=x-user-defined');
MyJavascriptModule.js(14,9) JSLINT: 'xml' used out of scope.
    xml.setRequestHeader('Accept-Charset', 'x-user-defined');
MyJavascriptModule.js(17,5) JSLINT: 'xml' used out of scope.
    xml.onreadystatechange = function() {
MyJavascriptModule.js(28,5) JSLINT: 'xml' used out of scope.
    xml.send('');
MyJavascriptModule.js(34,16) JSLINT: Expected '{' and instead saw 'url'.
    if (proxy) url = proxy + '?url=' + encodeURIComponent(url);
MyJavascriptModule.js(51,16) JSLINT: Expected '{' and instead saw 'url'.
    if (proxy) url = proxy + '?url=' + encodeURIComponent(url);
于 2010-03-17T22:09:02.277 に答える
4

これが古いものであることは知っていますが、JSLint がオープン ソースであり、github で利用可能であるとは誰も言及していません。https://github.com/douglascrockford/JSLint

含まれている HTML ページを使用するか、以下を使用して独自のインターフェイスを作成できます。

var options = {
    browser : true,
    plusplus : true,
    unparam : true,
    maxlen : 120,
    indent : 4 // etc
};
if (JSLINT(myCode, options)) {
    document.write('Passed!');
} else {
    document.write('Failed! :(');
}
document.write('<ul>');
for (i = 0; i < JSLINT.errors.length; i++) {
    document.write('<li><b>' + JSLINT.errors[i].line + ':</b> ' + JSLINT.errors[i].reason + '</li>');
}
document.write('</ul>');
于 2011-10-10T09:42:32.323 に答える
3

ページをハードドライブに保存できますか?

于 2008-10-22T18:36:41.483 に答える
2

JSLint4Javaは非常に優れていることがわかりました。プロジェクトのビルドに Ant を使用している場合は、Ant が提供する Ant タスクが特に便利です。

于 2011-01-01T23:11:40.980 に答える
1

VisualStudioアドインはここにあります。

それは少し荒いですが、仕事を成し遂げます。

私はプロジェクトに参加したばかりで、数か月以内に最新の状態にする予定です。

于 2010-03-24T13:22:41.333 に答える
1

html ページをハード ドライブに保存し、使用する .js ファイルを同じ場所にダウンロードするだけです。それが JavaScript の美しさです。

于 2008-10-22T18:42:01.083 に答える
1

この人が作成したツールを Visual Studio に統合できます。

http://jason.diamond.name/weblog/2008/08/09/verifying-javascript-with-jslint-and-visual-studio/#content

必要のないオプションを無効にするだけです。

于 2010-03-24T13:12:31.780 に答える
1

notepad++ を使用している場合は、JSLint プラグインが用意されています。

Notepad++ 用の JSLint プラグイン

それを見つけて、notepad++ の Plugin Manager からインストールできます。

于 2012-09-22T09:34:17.543 に答える
1

Visual Studio 2010 には適切な拡張機能があります。

于 2012-02-20T13:39:03.533 に答える
1

jslint CLIオプションでのいくつかの回答(厳密にはWindows用ではありません)

于 2009-08-23T18:54:08.720 に答える
0

MiniME は、便利なウィンドウでネイティブに実行される JSLint の代替手段です。

完全な開示、私はこれの背後にいます: http://www.toptensoftware.com/minimeこれは、縮小、難読化、および適切な lint スタイル チェックのセットを行います。

于 2010-08-25T14:27:00.213 に答える
0

Node.js で実行される JSLint レポーター

最新情報を簡単に入手できます。

  1. Node.jsをインストールします。

  2. jslint-reporterを次の場所にインストールします。C:\jslint-reporter

  3. JSLint をダウンロードします。

    C:\jslint-reporter>node wrapper.js --upgrade
    
  4. テスト:

    C:\Temp>node C:\jslint-reporter\wrapper.js missing_semicolon.js
    missing_semicolon.js:1:10:Expected ';' and instead saw 'console'.
    missing_semicolon.js:2:1:'console' was used before it was defined.
    

JSLint Node.js パッケージ

セットアップは簡単ですが、含まれている JSLint を最新の状態に保つためにパッケージの作成者に依存します。

  1. Node.jsをインストールします。

  2. Node.js のパッケージ マネージャーであるnpmを使用して、JSLint をインストールします。

    C:\>npm -g install jslint
    
  3. テスト:

    C:\Temp>jslint missing_semicolon.js
    
    missing_semicolon.js
     #1 Expected ';' and instead saw 'console'.
        var x = 5 // Line 1, Pos 10
    

その他のソリューション

もちろん、JSLint を実行するには、Windows で動作するRhinoやその他の JavaScript 実装を使用することもできます。

于 2013-09-13T18:28:46.430 に答える
0

CSE HTML Validatorには JSLint が含まれており、Windows デスクトップ マシンで実行されます。

于 2015-02-12T15:16:46.553 に答える
0

ほとんどのブラウザーには「全体」ページを保存する機能があります。つまり、StyleSheets、JavaScript などのすべての外部ファイルもダウンロードされ、HTML ドキュメントに適切にリンクされます (通常、HTML ファイルの隣のフォルダーに配置されます)。したがって、ツールをオフラインで使用できることは間違いありません。

于 2008-10-22T19:11:05.580 に答える