You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:34:53