Typescript eslint禁用no-unused-vars

时间:2019-09-25 12:40:10

标签: reactjs typescript 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"
    }
 },

更新


(已删除tsconfig.json参考)

我更新了package.json,并不断收到错误消息。

"eslintConfig": {
    "extends": "react-app",
    "rules": {
      "@typescript-eslint/no-unused-vars": "off"
    }
  },

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

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

6 个答案:

答案 0 :(得分:1)

我认为有些困惑。

问题和唯一答案都建议在tsconfig.json中放置一个规则部分。这是我从未听说过的,在文档或官方架构中也没有提及。
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

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

但这是typescript和typescript-eslint,因此规则应为:

  

“ @ typescript-eslint / no-unused-vars”:“关闭”

然后在一个答案中提出了一个hacky解决方案,该链接所涉及的某人需要更改为(请注意,答案是针对js的eslint,而不是ts)。

/ *禁止eslint禁用@ typescript-eslint / no-unused-vars * /

这些解决方案对我有用... +-eslint@6.5.1
+-@ typescript-eslint / eslint-plugin @ 2.3.2
+-@ typescript-eslint / parser @ 2.3.2

答案 1 :(得分:0)

自从您使用create-react-app my-app --typescript以来,您的tsconfig.json中应该已经为您创建了my-app/

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

{
  "extends": [...],
  "compilerOptions": {
    ...
  },
  "include": [...],
  "rules": {
    ...
    "no-unused-vars": "off"
    ...
  }
}

答案 2 :(得分:0)

在eslintrc.json内部添加“规则”,您只需将no-unused-vars写入0。

“规则”:{ “ no-unused-vars”:0 }

答案 3 :(得分:0)

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

  1. .eslintrc[.json]重命名为.eslintrc.js
  2. 在上一个Json对象的前面添加module.exports = 。因此.eslintrc.js看起来像这样:
module.exports = { 
    ...
    "rules": {...},
    ... 
}
  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"
    },
    ... 
}

答案 4 :(得分:0)

如果您使用的是 Create-react-app,则无需安装任何东西或 Eject,您只需转到 /node_modules/react-scripts/config/webpack.config.dev.js. 在“新 ESLintPlugin”规则上添加:

'react/jsx-uses-react': 'error',
'react/jsx-uses-vars': 'error',
'no-unused-vars': 0

答案 5 :(得分:0)

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

"eslintConfig": {
  "rules": {
   "no-unused-vars": 0,
  "@typescript-eslint/no-unused-vars": 0
}