gpt4 book ai didi

typescript - ESLint - 为 TypeScript 配置 "no-unused-vars"

转载 作者:行者123 更新时间:2023-12-03 07:12:30 32 4
gpt4 key购买 nike

我在我的所有 TypeScript 项目中都使用 ESLint,设置如下:

  "extends": ["airbnb", "prettier", 'plugin:vue/recommended'],
"plugins": ["prettier"],
"parserOptions": {
"parser": "@typescript-eslint/parser",
"ecmaVersion": 2018,
"sourceType": "module"
},
  • 一堆自定义规则。我还为 TypeScript 支持安装了以下依赖项:

      "@typescript-eslint/eslint-plugin": "^1.7.0",
    "@typescript-eslint/parser": "^1.7.0",

然而,ESLint 最有用的规则之一,https://eslint.org/docs/rules/no-unused-vars , TypeScript 项目的配置似乎很差。例如,当我导出枚举时,规则警告我该枚举未在声明它的文件中使用:

export enum Foo {
Bar,
}

同样,当我导入一个接口(interface)或类用作类型时,'no-unused-vars' 将在实际导入的行上再次提示:

在脚下

export interface Foo {
bar: string;
}

在 bar.ts 中

import { Foo } from './Foo'
const bar: Foo = { bar: 'Hello' };

有没有办法配置 no-unused-vars 规则来考虑这两种情况?我不喜欢禁用该规则,因为除了这些情况之外,它是我整个规则集中最有用的规则之一。

我已经将规则降级为只给出警告而不是错误,但是让我的所有文档都充满警告仍然有点违背使用 esLint 的目的。

按照建议用//eslint-disable-line 填充我所有的文档 here这似乎也是一个糟糕的解决方案。

最佳答案

我认为 "plugin:@typescript-eslint/eslint-recommended" 的使用引入了一堆不需要的规则。最好使用 "@typescript-eslint/no-unused-vars" ESLint 规则。

{
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
],
"rules": {
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error"]
}
}

引用 - https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-vars.md

关于typescript - ESLint - 为 TypeScript 配置 "no-unused-vars",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64774181/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com