2008-10-22 124 views

回答

13

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

的分析是通過你的機器上運行腳本 完成。您的腳本 不通過網絡發送。

它也可作爲Konfabulator widget。您可以通過將 拖動並放在 小部件上來檢查文件。您可以通過 重新檢查該文件,然後雙擊該小部件。

它也可在WSH Command Line版本。

它也可在Rhino Command Line版本。

或者因爲JSLint是一個在瀏覽器中運行的JavaScript程序 - 您可以獲取腳本並在本地運行它。

+0

是的,但你爲什麼。他定期更新。哇只是看到這個線程是多大年齡.. – 2011-03-21 03:24:23

+2

如果你想在[github](https://github.com/douglascrockford/JSLint)上提供 – 2011-03-21 03:25:49

+1

到WSH命令行版本的鏈接無效。 – 2011-10-11 14:25:17

3

你能把頁面保存到你的硬盤嗎?

1

只需將html頁面保存到硬盤,然後將它使用的.js文件下載到相同的位置即可。這就是JavaScript的美妙之處。

0

大多數瀏覽器都可以保存「整個」頁面,這意味着所有外部文件(如StyleSheets,JavaScript等)也會下載並正確鏈接到HTML文檔中(通常放置在HTML文件旁邊的文件夾中) 。所以,應該可以脫機使用該工具。

9

您還可以在機器上使用JavaScript皮棉,
把它從這裏
JavaScript Lint

有關於如何將其整合到許多編輯/ IDE的上述網站的說明。 我在UltraEdit中使用它,它效果很好。

從上述網站

您可以運行JavaScript林特幾個方面:

你可以將它集成到IDE,如Visual Studio,賽特,或任何其他IDE支持外部工具。當JavaScript Lint發現錯誤時,IDE會直接將您帶到包含錯誤的行。

您可以通過Windows程序員可能更喜歡的Windows資源管理器來運行它。

您可以使用命令行集成到您的構建系統中,或者您可能是Linux程序員,並且只是更喜歡命令行!

4

增編這個老問題:jslint.js的WScript的版本產生的錯誤信息是非常不同於任何錯誤信息編譯器。

如果你想他們是相似的,如果你希望能夠在命令行中指定的.js文件的名稱,而不是使用標準輸入讀取該文件,這樣做:

下載jslint.js, the WScript version

編輯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")); 
      } 
     }}}()); 

這種變化做了兩兩件事:

  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); 
1

Visual Studio插件可以找到here

這有點粗糙,但完成了工作。

我剛加入該項目,並將在未來幾個月內將其更新至最新版本。

0

MiniME是JSLint的替代品,它可以在windows下運行,您可能會發現它很有用。

完全披露,我背後是:http://www.toptensoftware.com/minime它做縮小,混淆和一套合理的皮棉風格檢查。

1

我們發現JSLint4Java非常好。如果您使用Ant來構建您的項目,那麼它提供的Ant任務特別有用。

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>'); 
1

如果您使用記事本++,那麼爲您提供了一個JSLint插件。

JSLint Plugin for Notepad++

你可以找到它,並從記事本++的插件管理器安裝。

0

JSLint Reporter使用Node.js運行

易於保持最新。

  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. 使用NPM,的Node.js的包管理器,安裝的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 ,您也可以使用Rhino或當然在Windows上運行 的任何其他JavaScript實現。

相關問題