首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ESLint -为TypeScript配置“no-unused vars”

ESLint -为TypeScript配置“no-unused vars”
EN

Stack Overflow用户
提问于 2019-09-05 17:06:51
回答 3查看 69.5K关注 0票数 82

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

代码语言:javascript
运行
复制
"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项目配置得很差。例如,当我导出枚举时,规则警告我该枚举未在声明它的文件中使用:

代码语言:javascript
运行
复制
export enum Foo {
   Bar,
}

同样,当我导入要用作类型的接口或类时,‘no-unused vars’将在实际导入的行上再次报错:

在Foo.ts中

代码语言:javascript
运行
复制
export interface Foo {
   bar: string;
}

在bar.ts中

代码语言:javascript
运行
复制
import { Foo } from './Foo'
const bar: Foo = { bar: 'Hello' };

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

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

按照建议使用//eslint-disable-line填充我的所有文档

这里

这似乎也是一个糟糕的解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-23 06:32:54

它有点被埋没了

文档

,但如果您添加一些东西到‘扩展’属性,您可以使用ESLint推荐的两个规则,如no-unused vars,并让它在Typescript中实际工作。如下所示:

代码语言:javascript
运行
复制
"extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended"
    ],

@ Typescript -eslint/推荐似乎是允许eslint的东西:推荐有效地处理Typescript构造。不过,我不确定这会对你的其他扩展有什么影响。

票数 111
EN

Stack Overflow用户

发布于 2021-02-18 04:39:58

我的问题是使用装饰器,并希望有一个具有适当名称的变量,例如:

而不是

TypeScript通常的解决方案是在前缀加上下划线:

也可以让ESLint接受同样的东西:

代码语言:javascript
运行
复制
module.exports = {
  ...
  rules: {
    '@typescript-eslint/no-unused-vars': ['warn', { 'argsIgnorePattern': '^_' }]
    ....
  },
};
票数 9
EN

Stack Overflow用户

发布于 2019-09-27 00:18:06

你有

嵌套在

..。它应该是同级的,如下所示:

代码语言:javascript
运行
复制
"parser": "@typescript-eslint/parser",
"parserOptions": {
    "ecmaVersion": 2018,
    "sourceType": "module"
},

至于

,恐怕这是一个正在进行的bug

https://github.com/typescript-eslint/typescript-eslint/issues/363

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57802057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档