如何配置ESLint强制if/for语句必须使用大括号且换行书写?
ESLint 强制控制语句大括号+换行规范配置方案
核心规则说明
不需要安装额外ESLint插件,使用ESLint内置的两条规则即可完全实现要求:
curly:强制所有控制语句(if/else/for/while/do/switch等)的执行体必须包裹在大括号内,禁止省略大括号写单行逻辑brace-style:强制大括号的排版格式,禁止大括号和内部执行语句挤在同一行,匹配要求的换行风格
具体配置
在你的ESLint配置文件(比如.eslintrc.js、.eslintrc.json)的rules字段中添加如下规则:
// .eslintrc.js 配置示例 module.exports = { // 其余基础配置(运行环境、解析器、继承的规范集等)根据项目实际情况保留即可 rules: { // 强制所有控制语句必须包裹大括号 "curly": ["error", "all"], // 大括号采用1tbs标准风格,禁止把大括号和执行逻辑挤在同一行 "brace-style": ["error", "1tbs", { "allowSingleLine": false }] } }
效果说明
配置完成后:
- 无大括号的单行
if、for写法会被直接标记为代码错误 - 即使写了大括号但把逻辑和大括号挤在同一行的写法(比如
if(flag){console.log('A')})也会被标记错误 - 执行
eslint --fix命令时,ESLint会自动把不符合规范的代码修复成标准格式:else/else if会自动跟在前一段的右大括号后同一行,执行语句单独缩进换行,完全匹配预期的代码风格。
内容的提问来源于stack exchange,提问作者user15163984
相关产品推荐
相关产品推荐

