10

我使用启用了缩进强制选项并将其设置为 4 的 jshint,并且希望对代码库中的大多数文件保持这种方式。

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

我尝试在顶部添加 jshint 评论,但没有奏效:

/* jshint indent: false */

这太糟糕了,因为这种语法适用于其他选项。例如,我可以使用以下命令禁用驼峰式强制执行选项:

/* jshint camelcase: false */

我怎样才能做到这一点?

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

/* jshint white: false */
4

1 回答 1

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 任务,您可以这样做:

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

更新

我已经打开了一个拉取请求,其中包含针对此问题的建议修复,所以请密切关注,我们将看看这个功能是否是 JSHint 团队想要添加的东西。

于 2013-04-05T06:53:10.860 回答