我在具有以下设置的所有Typescript项目中使用esLint:
"extends": ["airbnb", "prettier", 'plugin:vue/recommended'],
"plugins": ["prettier"],
"parserOptions": {
"parser": "@typescript-eslint/parser",
"ecmaVersion": 2018,
"sourceType": "module"
},
Run Code Online (Sandbox Code Playgroud)
+一堆自定义规则。我还为Typescript支持安装了以下依赖项:
"@typescript-eslint/eslint-plugin": "^1.7.0",
"@typescript-eslint/parser": "^1.7.0",
Run Code Online (Sandbox Code Playgroud)
但是,esLint最有用的规则之一https://eslint.org/docs/rules/no-unused-vars对于Typescript项目而言似乎配置很差。例如,当我导出一个枚举时,该规则警告我该枚举在声明它的文件中没有被使用:
export enum Foo {
Bar,
}
Run Code Online (Sandbox Code Playgroud)
类似地,当我导入要用作类型的接口或类时,“ no-unused-vars”将再次在实际导入的行中抱怨:
在脚
export interface Foo {
bar: string;
}
Run Code Online (Sandbox Code Playgroud)
在bar.ts中
import { Foo } from './Foo'
const bar: Foo = { bar: 'Hello' };
Run Code Online (Sandbox Code Playgroud)
有什么方法可以配置no-unused-vars规则来考虑这两种情况?我不喜欢禁用该规则,因为在这些案例之外,它是我整个规则集中最有用的规则之一。
我已经将规则降级为仅给出警告而不是错误,但是将我的所有文档都填充为警告仍然无法达到使用esLint的目的。