2013-01-23 26 views
14

现在我有以下代码:如何告诉JSLint的不索要{在单行if语句

if (c > last) break; 

而且JSLint的抱怨与

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

有几种方法来克服它:

if (c > last) { break; } 

if (c > last) { 
    break; 
} 

但我希望jslint在if语句位于同一行时不要抱怨。

有没有办法配置它?

BTW:我与崇高文字和崇高-的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 
} 

不知道如何配置呢?

回答

11

不幸的是,JSLint没有提供一个配置选项来告诉它容忍这个。在JSLint的眼中,使用块语句始终遵循条件语句或迭代语句是一种很好的做法,即使该块只包含单个语句。

但是,如果切换到JSHint,这是更可配置的,你可以使用curly选项允许这样的:

/*jshint curly: true */ 

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

+0

非常感谢,我会试一试......你知道它是否适用于jslint4java?在工作中,我不知道我是否可以安装节点 – opensas

+0

@opensas - 恐怕它不会...... jslint4java只是JSLint的Java包装器。 JSHint起初是JSLint的直接分支,但它们现在有很大的不同,有人需要为它编写一个单独的Java包装器。 –

+2

忽略单行if语句使用'curly:false' – dev