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

Vue Script Setup中@typescript-eslint/no-unused-vars误报问题咨询

解决Vue Script Setup变量在Pug模板使用仍触发@typescript-eslint/no-unused-vars的问题

问题原因

@typescript-eslint/no-unused-vars规则仅默认检测TS代码内的变量使用,无法识别Pug模板中的变量引用;当前ESLint配置缺少Vue模板相关规则集成,导致ESLint无法感知变量已在模板中被使用。

解决方案

1. 补充Vue官方ESLint规则集

在extends中添加对应Vue版本的官方规则扩展,让ESLint能够识别Vue模板(含Pug)中的变量使用:

module.exports = {
  root: true,
  env: {
    browser: true,
    node: true,
  },
  parser: 'vue-eslint-parser',
  parserOptions: {
    parser: '@typescript-eslint/parser',
  },
  extends: [
    'plugin:vue/vue3-essential', // Vue2项目替换为'plugin:vue/essential'
    '@nuxtjs/eslint-config-typescript',
    'plugin:prettier/recommended'
  ],
  plugins: [],
  rules: {
    'prettier/prettier': [
      'error',
      {
        trailingComma: 'all',
        tabWidth: 2,
        semi: false,
        singleQuote: true,
        bracketSpacing: true,
        eslintIntegration: true,
        printWidth: 120,
      },
    ],
  },
}

2. 替换未使用变量检测规则

禁用@typescript-eslint的no-unused-vars规则,改用Vue提供的vue/no-unused-vars规则(该规则会结合模板使用情况做检测):

module.exports = {
  // ...其他配置
  rules: {
    // ...prettier配置
    '@typescript-eslint/no-unused-vars': 'off',
    'vue/no-unused-vars': 'error'
  }
}

3. 可选:明确指定Pug模板解析配置

若仍存在解析问题,可在parserOptions中明确开启Pug模板支持:

module.exports = {
  // ...其他配置
  parserOptions: {
    parser: '@typescript-eslint/parser',
    templateParserOptions: {
      pug: true
    }
  }
}

验证修改

修改配置后,重启ESLint服务或重新lint目标组件文件,test变量的未使用报错会消失,因为ESLint已能识别到它在Pug模板中的引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:49:51