【发布时间】:2019-11-18 21:27:23
【问题描述】:
由于 ESLint,我发现了一个关于 return 语句之前的空行的规则 newline-before-return。但是在函数的第一条语句之前没有看到关于空行的规则。 F.e.:
function (a) {
var b = +a;
}
ESlint 对此有什么规定吗?如果有,这条规则的名称是什么? 谢谢
【问题讨论】:
标签: javascript code-formatting eslint
由于 ESLint,我发现了一个关于 return 语句之前的空行的规则 newline-before-return。但是在函数的第一条语句之前没有看到关于空行的规则。 F.e.:
function (a) {
var b = +a;
}
ESlint 对此有什么规定吗?如果有,这条规则的名称是什么? 谢谢
【问题讨论】:
标签: javascript code-formatting eslint
padded-blocks 规则允许您在块的开始和结束处需要换行符,包括函数体。除了函数体,它还涵盖了if 语句体、for 和while 循环体,以及您可能想要也可能不想要的其他块状结构。
尝试在demo 中粘贴以下代码,看看它是否适合您:
/* eslint padded-blocks: "error" */
function foo(bar) {
if (bar) {
foo();
}
}
如果您只想检查函数体,您可以按照@Dhananjay 的建议,将规则的source code 编辑为您自己的自定义规则。
【讨论】:
根据available rules 的列表,我认为没有现成可用的规则您可以尝试按照here 的说明为此检查添加自定义规则
【讨论】:
这样的规则是在HAPI ESLint plugin中实现的,这样安装的:
npm install @hapi/eslint-plugin-hapi --save-dev
// Add in your `.eslintrc`
{
plugins: [
'@hapi/eslint-plugin-hapi',
],
rules: {
'@hapi/hapi/scope-start': ['error'],
},
};
}
或者您可以将其用作HAPI ESLint config 的一部分。
请注意,Airbnb style guide 建议不要使用填充块。
【讨论】: