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

如何仅对catch块忽略ESLint的keyword-spacing规则冲突?

解决ESLint自定义catch规则与keyword-spacing的冲突问题

你可以通过keyword-spacing规则的自定义覆盖配置,仅针对catch关键字设置差异化的空格规则,无需禁用整个规则或使用单行忽略注释。

具体配置如下(以ESLint JSON配置文件为例):

{
  "rules": {
    "keyword-spacing": [
      "error",
      {
        "after": true, // 保持其他关键字的默认空格要求
        "overrides": [
          // 当catch后紧跟括号(带参数)时,不要求关键字后加空格
          {
            "keyword": "catch",
            "after": false,
            "when": "hasParens"
          },
          // 当catch后没有括号(不带参数)时,要求关键字后加空格
          {
            "keyword": "catch",
            "after": true,
            "when": "noParens"
          }
        ]
      }
    ]
  }
}

配置说明

  • overrides字段用于给特定关键字单独设置规则,不会影响if、else、for等其他关键字的空格检查。
  • when选项通过hasParens/noParens判断catch后是否存在括号,分别匹配你需要的两种格式:
    • 带参数的catch(err):catch与括号间无空格,符合after: false的要求。
    • 不带参数的catch {}:catch与大括号间有空格,符合after: true的要求。

这样配置后,自定义规则与keyword-spacing就能兼容,同时保留后者对其他关键字的格式规范作用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:35:13