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

如何仅针对TypeScript接口禁用ESLint的no-unused-vars规则?

解决TypeScript类型定义中no-unused-vars规则误报问题

问题原因

你当前启用了原生ESLint的no-unused-vars规则,但原生规则无法识别TypeScript类型定义中的参数(比如你代码里format属性的value参数),会误判为未使用变量。而你关闭了专门针对TypeScript的@typescript-eslint/no-unused-vars规则,反而放弃了能正确处理TS语法的规则支持。

解决方案

正确的做法是禁用原生ESLint的no-unused-vars,启用@typescript-eslint/no-unused-vars规则——它会自动忽略TypeScript类型、接口中的未使用参数,同时在普通JS/TS代码中正常检查未使用变量。

修改ESLint配置

更新你的eslintrc.json规则配置:

"rules": {
    "no-unused-vars": "off",
    "@typescript-eslint/no-unused-vars": [
        "warn",
        {
            // 可选配置:忽略以下划线开头的变量/参数
            "argsIgnorePattern": "^_",
            "varsIgnorePattern": "^_",
            // 忽略对象解构中未使用的剩余属性
            "ignoreRestSiblings": true
        }
    ]
}

临时行内禁用(可选)

如果你只想针对某一行类型代码禁用规则,也可以用行内注释:

export type IKeoTableColumn<T> = {
  id: T;
  align: 'left' | 'center' | 'right';
  label: string;
  minWidth: number;
  // 仅针对当前行禁用原生no-unused-vars规则
  format?: /* eslint-disable-next-line no-unused-vars */ (value: number) => string,
}[];

验证效果

修改配置后重启ESLint服务,TypeScript类型定义中的参数就不会再触发no-unused-vars警告,同时普通代码中的未使用变量仍会正常被检查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:40:17