如何配置ESLint规则禁止单行风格的if-else语句
适配需求的ESLint规则方案
不需要安装额外插件,直接使用ESLint内置的curly规则,通过对应配置即可完全匹配你要的校验逻辑。
配置方法
在ESLint配置文件中添加如下规则项:
// .eslintrc.js 配置示例 module.exports = { // 其余配置项省略 rules: { curly: ["error", "all", { ignoreIfWithoutElse: true }] } }
校验效果说明
- 违规拦截逻辑:所有带
else分支的if-else结构,只要任意分支未使用大括号包裹代码,就会触发报错,直接覆盖你提到的if、else分写两行省略大括号的不规范写法。 - 放行逻辑:无else分支的单独if语句,无论是否添加大括号、分支内容是否与if同行,都不会被规则判定为错误,完全符合你的要求。
- 规则判定结果和你给出的示例完全对齐:
// 违规,会被规则报错 if() /* some code */ else /* some code */ // 合规,if-else结构所有分支都用大括号包裹 if() { /* some code */ } else { /* some code */ } // 合规,无else分支的单独if,两种写法均不报错 if() /* some code */ if() { /* some code */ }
内容的提问来源于stack exchange,提问作者Vitalii Protsyk
相关产品推荐
相关产品推荐

