ESLint是否存在确保对象键与值处于同一行的规则?
解决ESLint检测对象键值同行的需求
你需要的是禁止对象属性冒号后直接换行的规则,object-curly-newline仅控制大括号的换行逻辑,无法满足你的需求,推荐使用以下配置方案:
核心规则配置:no-linebreak-after-operator
该规则默认针对算术/逻辑操作符,但可扩展配置来检查对象属性的冒号,禁止冒号后换行:
{ "rules": { "no-linebreak-after-operator": [ "error", { "operators": [":"], "overrides": { ":": false } } ] } }
这个配置会直接检测到冒号后换行的情况并抛出错误,正好匹配你要禁止的写法。
可选:搭配key-spacing强化格式规范
如果需要同时保证冒号前后的空格规范,可结合key-spacing规则:
{ "rules": { "no-linebreak-after-operator": [ "error", { "operators": [":"] } ], "key-spacing": [ "error", { "beforeColon": false, "afterColon": true, "mode": "strict" } ] } }
key-spacing会确保冒号前无空格、冒号后有且仅有一个空格,配合no-linebreak-after-operator的换行限制,完全符合你期望的键值同行格式。
测试验证
- 正确写法(键值同行):
const example = { a: 5 };
不会触发任何错误。
- 错误写法(键值换行):
const example = { a: 5 };
会被no-linebreak-after-operator规则检测为错误。
内容的提问来源于stack exchange,提问作者user20819464
相关产品推荐
相关产品推荐

