JSLint只适用于一个JavaScript文件。最近,我开始把我的程序分成几部分。
每次我使用JSLint检查代码时,我都不想将这些部分串起来。使用JSLint处理多个文件的标准解决方案是什么?
答案 0 :(得分: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开发的。
答案 1 :(得分:14)
运行命令有什么问题?
jslint .
将检查当前目录中的所有js文件并递归树。
答案 2 :(得分:2)
您可以针对HTML文件运行JSLint,而不仅仅针对JavaScript文件(这有意义,因为<SCRIPT>
标记)。 JSLint对外部脚本非常聪明 - 如果可以找到它们,它会将它们作为处理的一部分加载。所以尝试这样的事情:
<html>
<head>
<script src="file1.js"></script>
<script src="file2.js"></script>
...
<script>mainRoutine();</script>
</head>
</html>
在其上运行JSLint,而不是在每个文件上运行。
答案 3 :(得分:2)
命令行应用程序JavaScript Lint(http://www.javascriptlint.com/)可以处理多个文件并可以递归目录。 E.g。
%JSLPATH%\jsl.exe +recurse -process src\scripts\*.js
答案 4 :(得分:1)
您还可以在此处查看:https://github.com/mikewest/jslint-utils
它应该与Rhino或NodeJS一起使用。您还可以传递多个文件进行检查。
注意:如果您有一个命令行脚本,它不会将多个文件作为参数,您可以始终执行以下操作:ls public/javascripts/**/*.js | jslint
答案 5 :(得分:1)
如果您不需要运行错误计数,请打开终端(在OS X中)并粘贴它:
for i in $(find . -iname "*.js"); do jshint $i; done
答案 6 :(得分:0)
(这取自this link并格式化)
Rhino是一个完全用Java编写的Javascript引擎。它可用于在具有Java解释器的系统上从命令行运行JSLint。
文件jslint.js可以由Rhino运行。它将从文件中读取JavaScript程序。如果没有问题,它会安静地终止。如果出现问题,则会输出一条消息。 JSLint的WSH版本不生成函数报告。
运行JSLint的一种方法是使用以下命令:
C:\> java org.mozilla.javascript.tools.shell.Main jslint.js myprogram.js
运行java,加载并运行Rhino,加载并运行jslint.js,它将读取文件myprogram.js并报告错误(如果找到)。
下载jslint.js。