【问题标题】:JSLint with multiple files带有多个文件的 JSLint
【发布时间】:2011-11-29 11:47:34
【问题描述】:

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

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

【问题讨论】:

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

标签: javascript jslint


【解决方案1】:

有一个版本的 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 开发的。

【讨论】:

  • 谢谢。那么这仅适用于节点用户吗?我必须安装节点吗?
  • Randomblue,显然不是必须的,但是你必须有两个程序需要的js模块(nopt.js和fs.js)。
【解决方案2】:

只运行命令有什么问题?

jslint .

会检查当前目录下的所有js文件,并向下递归。

【讨论】:

  • ... 这将包括您的 node_modules 目录中的所有内容。
  • 请注意,如果您使用 JSHint,可以通过多种方式排除目录(例如选项 --exclude dir)。请参阅jshint.com/docs/cli“忽略文件”部分。
【解决方案3】:

您可以针对 HTML 文件运行 JSLint,而不仅仅是针对 JavaScript 文件(这是有道理的,因为 <SCRIPT> 标记)。 JSLint 对外部脚本很聪明——如果它可以找到它们,它将作为处理的一部分加载它们。所以尝试这样的事情:

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

在其上运行 JSLint,而不是在每个文件上运行。

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

      您也可以在这里查看:https://github.com/mikewest/jslint-utils 它应该适用于 Rhino 或 NodeJS。您还可以传递多个文件进行检查。 注意:如果您有一个不将多个文件作为参数的命令行脚本,您可以随时执行以下操作:ls public/javascripts/**/*.js | jslint

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

        • 你可以替换find。用查找 /path/
        【解决方案7】:

        (取自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。

        【讨论】:

        • 这似乎无法回答问题。
        猜你喜欢
        • 2012-05-03
        • 2020-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        • 2012-08-13
        • 2013-02-06
        • 1970-01-01
        相关资源
        最近更新 更多