如何通过ESLint检测Angular/Ionic项目中无用的依赖注入
检测Angular/Ionic无用依赖注入的ESLint配置方案
@typescript-eslint/no-unused-vars-experimental规则的能力已经完全合并到官方维护的@typescript-eslint/no-unused-vars规则中,按照以下方式配置即可实现你需要的未使用注入项高亮提示:
首先关闭ESLint原生的no-unused-vars规则,避免和TypeScript版本规则冲突,再配置@typescript-eslint/no-unused-vars规则开启构造函数参数、类属性的未使用检测,修改后的完整配置如下:
{ "env": { "browser": true, "es2021": true }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended" ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 12, "sourceType": "module" }, "plugins": ["@typescript-eslint"], "rules": { "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": [ "error", { "vars": "all", "args": "all", "ignoreRestSiblings": true } ] } }
配置项说明
- 规则第一个参数设置为
error时未使用项会标红报错,改为warn则显示黄色警告 vars: "all"覆盖所有作用域的变量检测,包含类内部定义的属性args: "all"检测所有函数参数,包含构造函数内的注入参数ignoreRestSiblings: true避免解构剩余参数时出现误报
如果需要临时忽略某个不需要检测的参数,可以给参数名加下划线前缀,同时在规则中增加"argsIgnorePattern": "^_"配置即可。
如果项目中存在public修饰的注入参数仅在组件模板中使用的场景,需要额外搭配Angular专属的ESLint规则检测,避免出现误报。
配置完成后,你示例代码中未使用的private bd: BasicDataService就会被ESLint正常高亮提示。
内容的提问来源于stack exchange,提问作者Pierre
相关产品推荐
相关产品推荐

