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

ESLint是否存在可禁止函数体内部使用空行的校验规则

解决方案

你可以通过ESLint内置规则实现需求,无需安装第三方插件,以下是两种可行方案:

方案1:使用padding-line-between-statements规则(推荐)

该规则可以精准控制不同代码块内语句之间的空行要求,只需要在你的ESLint配置文件中添加如下规则即可限制所有函数体内部不允许出现空行:

// .eslintrc.js 配置示例
module.exports = {
  rules: {
    'padding-line-between-statements': [
      'error',
      // 匹配所有块级作用域内的语句,要求任意两条语句之间不能有空行
      { blankLine: 'never', prev: '*', next: '*', selector: 'BlockStatement > *' }
    ]
  }
}

如果需要保留例外场景,比如允许注释前后有空行、类成员之间有空行,可以额外新增对应配置项覆盖上面的通用规则即可。

方案2:自定义简易ESLint规则

如果上面的通用配置无法满足你的特殊校验需求(比如要单独针对普通函数、箭头函数、类方法做不同的空行限制),可以自己编写自定义ESLint规则,核心逻辑为遍历所有函数的BlockStatement节点,统计节点内相邻代码行的换行次数,超过1次就抛出错误提示即可。

另外要注意内置的no-multiple-empty-lines规则虽然可以限制全局最大连续空行数,但无法单独作用于函数内部,不建议为了该需求修改全局空行配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:06:05