打字稿 eslint 禁用 no-unused-vars

And*_*ham 18 typescript reactjs eslint

我正在开发一个 Typescript React 项目,我通常将占位符变量放入代码中,以便在我实现所有内容之前安排好所有内容。这会导致一堆eslint no-unused-vars错误,并使找到真正的错误成为一项挑战。

在我准备好之前,如何全局禁用它?我使用过create-react-app my-app --typescript并且不想弹出项目,但不确定如何禁用此警告。

我注意到其中有一个eslintConfig部分,package.json所以我试图关闭那里的错误,但它似乎不起作用,是否有我需要在编辑后运行的命令package.json或者我的语法不正确?

"eslintConfig": {
    "extends": "react-app",
    "rules": {
      "no-unused-vars": "off"
    }
 },
Run Code Online (Sandbox Code Playgroud)

更新


(删除tsconfig.json参考)

我更新了我的package.json并不断收到错误。

"eslintConfig": {
    "extends": "react-app",
    "rules": {
      "@typescript-eslint/no-unused-vars": "off"
    }
  },
Run Code Online (Sandbox Code Playgroud)

我尝试将规则移动到.eslintrc.json项目根目录中的文件中,但似乎仍然没有关闭它。

似乎唯一有效的方法是将// eslint-disable-line @typescript-eslint/no-unused-vars变量放在后面。

Tom*_*Tom 18

我认为有些混乱。

问题和唯一的答案都建议在tsconfig.json. 这是我从未听说过的,并且在文档或官方架构中没有提到。

此外,问题是关于在 eslint 中禁用规则,因此规则更改应该在.eslintrc.json文件中(或问题中考虑的eslintConfig部分package.json)。

但这是 typescript 和 typescript-eslint 所以规则应该是:

> "@typescript-eslint/no-unused-vars" : "off"
Run Code Online (Sandbox Code Playgroud)

并且有人链接到需要更改为的答案中提出的hacky解决方案(请注意,答案是关于js的eslint,而不是ts)。

/* eslint-disable @typescript-eslint/no-unused-vars */
Run Code Online (Sandbox Code Playgroud)

这些解决方案对我有用...

+-- eslint@6.5.1  
+-- @typescript-eslint/eslint-plugin@2.3.2  
+-- @typescript-eslint/parser@2.3.2  
Run Code Online (Sandbox Code Playgroud)


小智 8

我有类似的问题。这是我的解决方案:

  1. 重命名.eslintrc[.json].eslintrc.js
  2. 添加module.exports = 在之前的 Json 对象前面。所以.eslintrc.js看起来像这样:
module.exports = { 
    ...
    "rules": {...},
    ... 
}
Run Code Online (Sandbox Code Playgroud)
  1. "@typescript-eslint/no-unused-vars"根据您当前的环境设置规则。这可以通过检查变量来实现process.env.NODE_ENV。我的选择是在生产中出现错误并在其他情况下收到警告。该片段如下所示:
module.exports = { 
    ...
    "rules": {
         ...
         "@typescript-eslint/no-unused-vars": process.env.NODE_ENV === "production" ? "error" : "warn"
    },
    ... 
}
Run Code Online (Sandbox Code Playgroud)


小智 8

您可以在 package.json 文件中添加规则

"eslintConfig": {
  "rules": {
   "no-unused-vars": 0,
   "@typescript-eslint/no-unused-vars": 0
  }
}
Run Code Online (Sandbox Code Playgroud)


Rik*_*kin 4

既然您使用了,create-react-app my-app --typescript那么应该已经tsconfig.json在您的my-app/

tsconfig.json您可以在您的打字稿编译器中添加规则。

{
  "extends": [...],
  "compilerOptions": {
    ...
  },
  "include": [...],
  "rules": {
    ...
    "no-unused-vars": "off"
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)