如何配置ESLint的padding-line-between-statements区分作用域?
解决ESLint区分作用域设置const声明空行的问题
要实现顶层作用域和块级作用域内const声明不同的空行校验规则,你可以利用ESLint padding-line-between-statements 规则的scope属性,分别对两种作用域设置规则,具体配置如下:
"padding-line-between-statements": [ "error", // 顶层作用域:连续const声明之间必须空一行 { "blankLine": "always", "prev": "const", "next": "const", "scope": "top" }, // 块级作用域:连续const声明之间禁止空行 { "blankLine": "never", "prev": "const", "next": "const", "scope": "block" } ]
配置说明
scope: "top"匹配全局、模块级别的顶层作用域,确保这里的const声明之间必须空一行,对应你给出的正确示例中顶层的foo和bar之间的空行要求。scope: "block"匹配函数、if语句、类等所有块级作用域内的代码,强制这里的const声明连续,不能有空行,对应示例中函数baz内部hello和world的连续声明要求。
配置完成后,ESLint会自动区分两种作用域场景,按照你的期望进行校验。
内容的提问来源于stack exchange,提问作者Jonatan Kruszewski
相关产品推荐
相关产品推荐

