禁用JSHint缩进仅检查特定文件

时间:2013-04-05 00:28:24

标签: javascript indentation jshint

我在启用缩进强制执行选项的情况下使用jshint并设置为4,并希望对代码库中的大多数文件保持这种方式。

在一个特定文件中,我想禁用此检查。

我尝试在顶部添加jshint注释,但这不起作用:

/* jshint indent: false */

这太糟糕了,因为此语法适用于其他选项。例如,我可以使用以下命令禁用camelcase enforcing选项:

/* jshint camelcase: false */

我该怎么做?

有些答案表明缩进会自动启用白色选项,但我尝试了以下操作并且它也不起作用:

/* jshint white: false */

1 个答案:

答案 0 :(得分:2)

目前无法做到这一点。 JSHint验证indent选项的值如下:

if (typeof val !== "number" || !isFinite(val) || val <= 0 || Math.floor(val) !== val) {
    error("E032", nt, g[1].trim());
    return;
}

正如您在问题的评论中所注意到的,如果该值不是大于0的整数,则会引发错误。但实际上并没有对该整数设置最大限制。

根据您运行JSHint的方式,可能会覆盖不关心缩进的文件的默认配置。例如,使用JSHint Grunt task,您可以执行此操作:

grunt.initConfig({
    jshint: {
        options: {
            /* Don't set indent here */
        },
        uses_defaults: ["somefile.js"],
        with_overrides: {
            options: {
                indent: 4
            },
            files: {
                src: ["someotherfile.js"]
            }
        }
    }
});

<强>更新

我有opened a pull request针对此问题的建议修复程序,因此请密切注意,我们将看看此功能是否是JSHint团队想要添加的内容。