2008-10-22 116 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实现。

相关问题