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

如何配置@typescript-eslint/no-unused-vars忽略类与注入相关代码?

配置@typescript-eslint/no-unused-vars规则忽略指定场景

可以通过调整规则的配置项来实现忽略你提到的两类代码,以下是具体配置方案:

1. 忽略默认导出的类的未使用提示

如果ESLint误报默认导出类的类名未使用(比如export default class MyClass {}中的MyClass),可通过varsIgnorePattern匹配类名规则,或启用ignoreExports忽略所有导出内容的未使用提示(按需选择):

module.exports = {
  // 其他配置项...
  rules: {
    '@typescript-eslint/no-unused-vars': [
      'error',
      {
        // 匹配首字母大写的类名,适配默认导出类的命名习惯
        varsIgnorePattern: '^[A-Z]',
        // 可选:开启后忽略所有导出的变量/类/函数的未使用提示
        // ignoreExports: true
      }
    ]
  }
};

2. 忽略装饰器导入的未使用提示

对于导入后用作类装饰器的变量(比如import { injection } from 'any_package'; @injection() class MyClass中的injection),ESLint有时会误报未使用,可通过varsIgnorePattern指定目标装饰器名称,或用通用正则匹配装饰器命名:

module.exports = {
  // 其他配置项...
  rules: {
    '@typescript-eslint/no-unused-vars': [
      'error',
      {
        // 忽略特定装饰器变量
        varsIgnorePattern: '^injection$',
        // 可选:匹配所有首字母大写的装饰器变量
        // varsIgnorePattern: '^[A-Z]'
      }
    ]
  }
};

3. 两类场景的组合配置

如果需要同时处理两种情况,可合并配置项:

module.exports = {
  // 其他配置项...
  rules: {
    '@typescript-eslint/no-unused-vars': [
      'error',
      {
        // 同时匹配默认导出类名和指定装饰器
        varsIgnorePattern: '^([A-Z]|injection)$',
        // 可选:开启后进一步避免默认导出类的误报
        // ignoreExports: true
      }
    ]
  }
};

注意:正则表达式可根据你的实际代码命名习惯调整,确保只忽略目标场景,避免误判其他未使用的变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 22:16:22