如何告诉JSLint不要求{在单行if语句

时间:2013-01-23 07:09:42

标签: sublimetext2 jslint jslint4java

现在我有以下代码:

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不要抱怨。

有没有办法配置它?

BTW:我正在使用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
}

知道如何配置吗?

1 个答案:

答案 0 :(得分:15)

不幸的是,JSLint没有提供一个配置选项来告诉它容忍这个。在JSLint眼中,最好使用块语句来跟随条件或迭代语句,即使所述块只包含一个语句。

如果您切换到可配置性更强的JSHint,则可以使用curly选项:

/*jshint curly: false */

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

如果您的Sublime插件仅支持JSLint,我强烈推荐SublimeLinter,这就是我使用的。它支持JSLint和JSHint。