ESLint -- 要求或禁止语句块之前的空格 (space-before-blocks)
详细讲解请看space-before-blocks
配置文件代码:
// require or disallow space before blocks
'space-before-blocks': 'error',
Rule Details
该规则将强制块之前的空格的一致性。它只在非行首的块上起作用。
- 该规则忽略 => 和块之间的空格。arrow-spacing 规则处理这些空格。
- 该规则忽略关键字和块之间的空格。keyword-spacing 规则处理这些空格。
Options
该规则有一个参数。
- 如果为 "always",块语句必须总是至少有一个前置空格。
- 如果为"never",所有的块永远不会有前置空格。
- 如果函数块和关键字块要求不同的空格类型,可以单独传递一个可选配置的对象作为该规则的参数来配置这种情况。(比如:{ "functions": "never", "keywords": "always", classes: "always" } ) 4. 默认为 "always"。
示例
选项 "always" 的 错误 代码示例:
/*eslint space-before-blocks: "error"*/
if (a){ // "{"前必须有一个前置空格
b();
}
function a(){} // "{"前必须有一个前置空格
for (;;){// "{"前必须有一个前置空格
b();
}
try {} catch(a){}// "{"前必须有一个前置空格
class Foo{// "{"前必须有一个空格
constructor(){}// "{"前必须有一个前置空格
}
选项 "always" 的 正确 代码示例:
/*eslint space-before-blocks: "error"*/
if (a) {
b();
}
if (a) {
b();
} else{ /*no error. this is checked by `keyword-spacing` rule.*/
c();
}
function a() {}
for (;;) {
b();
}
try {} catch(a) {}