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

寻求ESLint函数体大括号换行规则(类似object-curly-newline)

实现函数体大括号的ESLint换行配置

你可以通过以下几条ESLint规则的组合,实现箭头函数和普通函数体大括号的指定换行效果:

1. 强制大括号的基础换行风格

使用brace-style规则确保左大括号与函数声明在同一行,且左大括号后必须换行,右大括号单独成行(禁止单行大括号写法):

"brace-style": ["error", "1tbs", { "allowSingleLine": false }]

2. 强制大括号内外的空行要求

使用padding-line-between-statements规则,确保左大括号后、右大括号前都有至少一个空行:

"padding-line-between-statements": [
  "error",
  {
    "blankLine": "always",
    "prev": "block-start",
    "next": "*"
  },
  {
    "blankLine": "always",
    "prev": "*",
    "next": "block-end"
  },
  {
    "blankLine": "any",
    "prev": "block-end",
    "next": "block-end"
  }
]

这条规则的具体作用:

  • 左大括号(block-start)之后必须跟至少一个空行
  • 右大括号(block-end)之前必须跟至少一个空行
  • 连续的右大括号之间允许任意空行(避免嵌套块的格式冲突)

3. 箭头函数强制使用大括号

针对箭头函数,用arrow-body-style规则强制即使空函数体也必须使用大括号,避免出现() => undefined这类省略大括号的写法:

"arrow-body-style": ["error", "always"]

4. 控制空行数量(可选)

如果需要限制大括号内最多只能有一个空行(避免多个连续空行),可以添加no-multiple-empty-lines规则:

"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0, "maxBOF": 0 }]

最终效果

配置完成后,代码会被自动格式化符合要求的样式:

// 空箭头函数
const fn = () => {
};

// 普通函数
function demo() {
  console.log('test');
}

// 嵌套函数
const nested = () => {
  return () => {
    return 1;
  };
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:42:54