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

如何配置@typescript-eslint规则?member-delimiter-style配置求助

解决@typescript-eslint/member-delimiter-style无分号/逗号的配置问题

我完全懂这种找不到具体配置示例的烦躁,刚好之前配置过这个规则,直接给你能落地的配置方案:

你需要在ESLint配置文件(比如.eslintrc.js或.eslintrc.json)的rules字段下,给@typescript-eslint/member-delimiter-style添加详细配置,就能实现类、接口、类型字面量的成员末尾不使用分号或逗号的要求。

1. JS格式配置文件(.eslintrc.js)示例

module.exports = {
  // 保留你已有的其他配置(比如extends、parser等)
  rules: {
    // 其他规则...
    '@typescript-eslint/member-delimiter-style': [
      'error', // 设为error会触发报错,warn则是警告,按需调整
      {
        // 处理多行成员的情况
        multiline: {
          delimiter: 'none', // 禁用任何分隔符(分号/逗号都不允许)
          requireLast: false, // 最后一个成员也不需要加分隔符
        },
        // 处理单行成员的情况
        singleline: {
          delimiter: 'none',
          requireLast: false,
        },
        // 针对TypeScript特有的语法做单独覆盖
        overrides: {
          interface: {
            multiline: { delimiter: 'none', requireLast: false },
            singleline: { delimiter: 'none', requireLast: false },
          },
          typeLiteral: {
            multiline: { delimiter: 'none', requireLast: false },
            singleline: { delimiter: 'none', requireLast: false },
          },
        },
      },
    ],
  },
};

2. JSON格式配置文件(.eslintrc.json)示例

{
  "rules": {
    "@typescript-eslint/member-delimiter-style": [
      "error",
      {
        "multiline": {
          "delimiter": "none",
          "requireLast": false
        },
        "singleline": {
          "delimiter": "none",
          "requireLast": false
        },
        "overrides": {
          "interface": {
            "multiline": {
              "delimiter": "none",
              "requireLast": false
            },
            "singleline": {
              "delimiter": "none",
              "requireLast": false
            }
          },
          "typeLiteral": {
            "multiline": {
              "delimiter": "none",
              "requireLast": false
            },
            "singleline": {
              "delimiter": "none",
              "requireLast": false
            }
          }
        }
      }
    ]
  }
}

配置完成后,重启ESLint服务或者重新执行lint命令,那个Expected a semicolon的错误就会消失啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:31:23