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

如何在TypeScript项目中正确禁用ESLint的semicolon规则?

解决ESLint + typescript-eslint分号规则不生效问题

你的问题出在配置优先级上:针对.ts/.tsx文件的overrides块里扩展了xo-typescript,这个配置的规则优先级高于外层的rules,导致你在外层设置的@typescript-eslint/semi: ["error", "never"]被覆盖了。

正确配置方式

修改.eslintrc.json,把分号规则移到overrides的rules中,确保针对TS/TSX文件的规则生效:

{
    "env": {
        "browser": true,
        "es2021": true
    },
    "extends": [
        "plugin:react/recommended",
        "xo"
    ],
    "overrides": [
        {
            "extends": [
                "xo-typescript"
            ],
            "files": [
                "*.ts",
                "*.tsx"
            ],
            "rules": {
                "@typescript-eslint/semi": ["error", "never"],
                "semi": ["error", "never"]
            }
        }
    ],
    "parserOptions": {
        "ecmaVersion": "latest",
        "sourceType": "module"
    },
    "plugins": [
        "react",
        "@typescript-eslint"
    ]
}

补充说明

  • xo和xo-typescript默认启用了强制分号的规则,必须在对应文件类型的配置块里明确覆盖这个规则才会生效。
  • 如果你想全局统一禁用分号,也可以在外层rules先关闭xo的semi规则,但更推荐上面的方式,因为TS/JS规则可以按文件类型分开管理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:10:19