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

如何通过ESLint强制含3个及以上属性的对象每个属性单独换行?

解决ESLint对象多属性强制单独换行的问题

object-curly-newline规则只负责控制对象大括号的换行逻辑,不会强制每个属性单独成行——这就是你修复后仍有多个属性挤在同一行的原因。要实现“属性数≥3时每个属性单独换行”的要求,需要配合使用object-property-newline规则,同时正确配置两者的参数。

在你的ESLint配置文件(如.eslintrc.js)中添加以下规则:

module.exports = {
  // 其他配置项...
  rules: {
    // 控制对象大括号的换行时机
    'object-curly-newline': [
      'error',
      {
        ObjectExpression: { minProperties: 3, multiline: true, consistent: true },
        ObjectPattern: { minProperties: 3, multiline: true, consistent: true }
      }
    ],
    // 强制每个属性单独占一行
    'object-property-newline': [
      'error',
      {
        allowMultiplePropertiesPerLine: false
      }
    ]
  }
};

规则说明

  • object-curly-newline:当对象的属性数量≥3时,强制大括号前后换行,并且保持大括号内部的换行一致性(不会出现单边换行的情况)。
  • object-property-newline:通过allowMultiplePropertiesPerLine: false直接禁止多个属性出现在同一行,确保每个属性单独成行。

配置完成后,ESLint自动修复会将你的代码调整为符合要求的格式:

const myObject = {
  property1: 'value1',
  property2: 'value2',
  property3: 'value3',
};

内容的提问来源于stack exchange,提问作者Jimmy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:19:56