我正在开发一个 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
放在变量后面。
我认为有些混乱。
问题和唯一答案都建议在
tsconfig.json
中放置规则部分。 这是我从未听说过的东西,并且在文档或官方架构中没有提及。
此外,问题是关于禁用 eslint 中的规则,因此规则更改应放入
.eslintrc.json
文件(或问题中考虑的 eslintConfig
中的 package.json
部分)。
但是这是 typescript 和 typescript-eslint 所以规则应该是:
> "@typescript-eslint/no-unused-vars" : "off"
有人链接的答案中提出的 hacky 解决方案需要更改为(请注意,答案是关于 js 的 eslint,而不是 ts)。
/* eslint-disable @typescript-eslint/no-unused-vars */
这些解决方案对我有用...
+-- [email protected]
+-- @typescript-eslint/[email protected]
+-- @typescript-eslint/[email protected]
我也有类似的问题。这是我的解决方案:
.eslintrc[.json]
重命名为 .eslintrc.js
module.exports =
。所以 .eslintrc.js
看起来像这样:module.exports = {
...
"rules": {...},
...
}
"@typescript-eslint/no-unused-vars"
规则。这可以通过检查 process.env.NODE_ENV
变量来实现。我的选择是在生产中出现错误并在其他情况下收到警告。 该片段如下所示:module.exports = {
...
"rules": {
...
"@typescript-eslint/no-unused-vars": process.env.NODE_ENV === "production" ? "error" : "warn"
},
...
}
您可以在package.json文件中添加规则
"eslintConfig": {
"rules": {
"no-unused-vars": 0,
"@typescript-eslint/no-unused-vars": 0
}
}
既然您使用了
create-react-app my-app --typescript
,那么在您的tsconfig.json
中应该已经为您创建了
my-app/
在您的
tsconfig.json
中,您可以为打字稿编译器添加规则。
{
"extends": [...],
"compilerOptions": {
...
},
"include": [...],
"rules": {
...
"no-unused-vars": "off"
...
}
}
在 eslintrc.json 中添加“规则”,只需将 no-unused-vars 写入 0 即可。
"rules":{
"no-unused-vars":0
}
进入您的设置并搜索“eslint”,然后查找名为 Elint:enable 的内容,取消选中“控制是否启用 eslint”复选框。
这对我有用 我正在使用
Version: 1.72.2 (system setup)
Commit: d045a5eda657f4d7b676dedbfa7aab8207f8a075
Date: 2022-10-12T22:15:18.074Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Windows_NT x64 10.0.19045
Sandboxed: No
如果您使用的是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