15

现在我有以下代码:

if (c > last) break;

和 jslint 抱怨

jslint:crud.js:69:19:Expected '{' and instead saw 'break'.

有几种方法可以克服它:

if (c > last) { break; }

或者

if (c > last) { 
  break; 
}

但是当 if 语句在同一行时,我希望 jslint 不要抱怨。

有没有办法配置它?

顺便说一句:我正在使用 sublime text 和 sublime-jslint 插件,配置如下:

{
    // Path to the jslint jar.
    // Leave blank to use bundled jar.
    "jslint_jar": "",

    // Options pass to jslint.
    "jslint_options": "--indent 2 --white --maxerr 10000 --nomen --browser --plusplus --es5",

    // Ignore errors, regex.
    "ignore_errors":
    [
        "Combine this with the previous 'var' statement.",
        "It is not necessary to initialize"
    ],

    // run jslint on save.
    "run_on_save": false,

    // debug flag.
    "debug": false
}

知道如何配置它吗?

4

1 回答 1

17

不幸的是,JSLint 没有提供一个配置选项来告诉它容忍这种情况。在 JSLint 看来,最好总是在条件语句或迭代语句后加上块语句,即使该块只包含一条语句。

如果您切换到JSHint,它的可配置性要高得多,您可以使用该curly选项:

/*jshint curly: false */

这将 JSHint 配置为允许没有花括号的单个语句,无论它是否与前面的条件语句或迭代语句在同一行。

如果你的 Sublime 插件只支持 JSLint,我强烈推荐SublimeLinter,这是我使用的。它同时支持 JSLint 和 JSHint。

于 2013-01-23T07:52:38.640 回答