TypeScript+Svelte项目ESLint no-unused-vars警告问题求助
解决Svelte+TypeScript中响应式$store触发no-unused-vars警告的方案
问题原因
@typescript-eslint/no-unused-vars规则无法识别Svelte特有的$store语法,会误以为导入的store变量未被使用,从而触发警告。
解决方案
使用Svelte专用的ESLint规则替代TypeScript的未使用变量规则,具体配置修改如下:
修改.eslintrc.cjs配置
在overrides区块中针对.svelte文件单独配置规则,禁用TypeScript的no-unused-vars,启用Svelte专用的同名规则:
module.exports = { // 保留原有配置... overrides: [ { files: ['*.svelte'], parser: 'svelte-eslint-parser', parserOptions: { parser: '@typescript-eslint/parser', }, // 添加规则配置 rules: { '@typescript-eslint/no-unused-vars': 'off', 'svelte/no-unused-vars': [ 'warn', { args: 'after-used', argsIgnorePattern: '^_', ignoreRestSiblings: true, varsIgnorePattern: '^_.*$', }, ], }, }, ], // 保留原有配置... };
验证依赖安装
确保已安装必要的ESLint插件:
npm install eslint-plugin-svelte svelte-eslint-parser --save-dev
效果说明
svelte/no-unused-vars是为Svelte语法量身设计的规则,能正确识别$store这类响应式语句对变量的使用,不会产生误报。- 全局的
@typescript-eslint/no-unused-vars规则仍会在.ts/.js文件中生效,不影响非Svelte文件的代码检查。
内容的提问来源于stack exchange,提问作者Garo Gabrielyan
相关产品推荐
相关产品推荐

