【问题标题】:Has ESlint a rule about blank line before the first statement in function?ESlint 在函数的第一个语句之前有关于空行的规则吗?
【发布时间】:2019-11-18 21:27:23
【问题描述】:

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

function (a) {

    var b = +a;
}

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

【问题讨论】:

    标签: javascript code-formatting eslint


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

      根据available rules 的列表,我认为没有现成可用的规则您可以尝试按照here 的说明为此检查添加自定义规则

      【讨论】:

        【解决方案3】:

        这样的规则是在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 建议不要使用填充块。

        【讨论】:

        • 如果你不想使用 lint 的 --fix 选项,它可以工作。
        猜你喜欢
        • 1970-01-01
        • 2019-03-20
        • 2021-10-06
        • 2021-08-20
        • 2017-06-18
        • 2019-06-17
        • 1970-01-01
        • 2021-12-21
        • 2012-06-22
        相关资源
        最近更新 更多