2011-10-02 73 views
23

JSLint仅适用于一个JavaScript文件。最近,我已经开始将我的程序分成几部分。JSLint具有多个文件

我不希望每次使用JSLint检查我的代码时都会串起件。用JSLint处理多重文件的标准解决方案是什么?

+0

我们使用使用NAnt脚本的自动构建,并在此构建过程中为JSLint运行接受文件列表的任务。我不知道这是否适合你,但无论如何。 –

回答

23

有一个版本的JSLint(node-JSLint)(命令行),允许您一次检查多个文件。按照链接,下载在GitHub上:

https://github.com/reid/node-jslint

通过命令行调用的下面的例子:

JSLint app.js 
JSLint lib/lib worker.js/server.js # Multiple files 
JSLint - white - onevar - regexp app.js JSLint # All options supported 
JSLint - bitwise false app.js # Defaults to true, but You Can Specify false 
JSLint - goodparts - # undef false app.js The Good Parts, except undef 
JSLint-gp app.js # Shorthand for - goodparts:-gp 
find . -name "*.js" -print0 | xargs -0 jslint # JSLint JSLint your Entire Project 

注:此应用程序被开发的NodeJS。

+0

谢谢。那么这仅适用于节点用户吗?我必须安装节点吗? – Randomblue

+0

Randomblue,显然这不是必须的,但你必须有两个程序所需的js模块(nopt.js和fs.js)。 –

1

你也可以看看这里:https://github.com/mikewest/jslint-utils 它应该与Rhino或NodeJS一起工作。您也可以传递多个文件进行检查。 注意:如果你有一个命令行脚本,它并不需要多个文件作为参数,你总是可以这样做:ls public/javascripts/**/*.js | jslint

0

(这是从this link采取和格式化)

Rhino是一个Javascript引擎这完全是用Java编写的。它可以用于在具有Java解释器的系统上从命令行运行JSLint。

文件jslint.js可以由Rhino运行。它会从文件中读取JavaScript程序。如果没有问题,它会安静地终止。如果有问题,它会输出一条消息。 JSLint的WSH版本不生成函数报告。运行JSLint的

一种方法是使用下面的命令:

C:\> java org.mozilla.javascript.tools.shell.Main jslint.js myprogram.js 

它运行的java加载并运行它会加载犀牛和运行jslint.js,这将读取该文件myprogram.js,并报告相应错误找到。

下载jslint.js。

2

您可以针对HTML文件运行JSLint,而不仅仅针对JavaScript文件(由于<SCRIPT>标签,这很有意义)。而且JSLint对于外部脚本很聪明 - 如果它能够找到它们,它将作为处理的一部分加载它们。所以试试这样的:

<html> 
    <head> 
     <script src="file1.js"></script> 
     <script src="file2.js"></script> 
     ... 
     <script>mainRoutine();</script> 
    </head> 
</html> 

对此,而不是对每个文件运行JSLint。

2

命令行应用程序JavaScript Lint(http://www.javascriptlint.com/)适用于多个文件并可以递归目录。例如。

%JSLPATH%\jsl.exe +recurse -process src\scripts\*.js 
1

如果您不需要错误的运行计数,打开终端(在OS X)并粘贴此:

for i in $(find . -iname "*.js"); do jshint $i; done 
+0

你可以替换find。与find/path/ –

14

出了什么问题只是运行命令?

jslint . 

将检查当前目录中的所有js文件并递归树。

+6

...将包括您的node_modules目录中的所有内容。 –

+1

请注意,如果使用JS ** H ** int,可以通过多种方式排除目录(例如选项“--exclude dir”)。请参阅http://jshint.com/docs/cli/部分“忽略文件”。 –