ESlint 是否有关于函数中第一个语句之前的空行的规则?

Has ESlint a rule about blank line before the first statement in function?

由于 ESLint,我发现了一条规则 newline-before-return 关于 return 语句之前的空行。但是在函数的第一条语句之前没有看到关于空行的规则。 F.e.:

function (a) {

    var b = +a;
}

ESlint 对此有规定吗?如果有,这条规则的名称是什么? 谢谢

根据 available rules You can try to add a custom rule for this check as explained here

的列表,我认为没有现成可用的规则

padded-blocks 规则允许您在块的开始和结束处要求换行,包括函数体。除了函数体之外,它还涵盖了 if 语句、forwhile 循环以及其他您可能想要也可能不需要的类似块的结构体。

尝试将以下代码粘贴到 demo 中,看看它是否适合您:

/* eslint padded-blocks: "error" */
function foo(bar) {

    if (bar) {

        foo();

    }

}

如果您只想检查函数体,您可以按照@Dhananjay 的建议将规则的 source code 编辑为您自己的自定义规则。

此类规则在 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 建议不要使用填充块。