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

配置ESLint的padded-blocks规则为blocks:never后仍报错,是否为Bug?

这不是Bug,是你没覆盖到箭头函数的规则范围!

我之前也踩过这个坑,其实问题出在padded-blocks规则的选项划分上:

你当前的配置只指定了blocks: "never",但这个选项仅控制普通代码块(比如if语句、for循环、常规函数声明的代码块),而你报错的是箭头函数的代码块——它属于arrowFunctions这个独立选项的管辖范围。默认情况下这个选项可能沿用了ESLint的默认规则(或者你的配置继承了其他规则集的设置),所以才会触发你看到的报错。

解决方法分两种情况:

  • 如果你希望箭头函数的代码块也遵循「不允许开头空白行」的规则,把配置改成这样:
"padded-blocks": ["error", { 
  "blocks": "never",
  "arrowFunctions": "never"
}]
  • 如果你想允许箭头函数块内有开头空白行,就显式把arrowFunctions设为"always":
"padded-blocks": ["error", { 
  "blocks": "never",
  "arrowFunctions": "always"
}]

另外也可以检查下你的代码,报错提示是「块不能有空白行」,说明你的箭头函数块里大概率是这样的:

el.addEventListener('click', () => {
  
  // 这里有一行空白行,触发了规则检查
  // ...你的业务代码
});

如果是这种情况,删掉开头的空白行也能直接解决当前报错,但从长远看还是建议把规则配置补全,避免后续类似问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:36:51