我目前收到有关Types
或Interfaces
内函数参数的eslint警告。
执行以下操作:
type Test = {
fn: (param: string) => void
}
导致以下警告:
'param' is defined but never used. Allowed unused args must match /^_/u.
这是我的.eslintrc.json
的样子:
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json"
},
"env": {
"node": true
},
"plugins": ["@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended"
],
"rules": {
"@typescript-eslint/interface-name-prefix": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-module-boundary-types": "off"
}
}
软件包版本:
"eslint": "^7.23.0"
"@typescript-eslint/eslint-plugin": "^4.22.1"
"@typescript-eslint/parser": "^4.22.1"
类似的问题已经在这里和这里被问过,但提供的答案似乎不适合我。
关于可能发生的事情的任何建议?
我已经这样解决了,将这两行放在 eslint 配置文件的规则中。
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": ["error"]
与其在eslint 配置中全局设置no-unused-vars
,不如通过将以下注释放在其上方来将其设置为行:
// eslint-disable-next-line @typescript-eslint/no-unused-vars
或者到整个文件,只需在顶部添加以下注释:
/* eslint-disable @typescript-eslint/no-unused-vars */
通过将以下行添加到.eslintrc.json
规则中,可以将no-unused-vars
规则配置为忽略名为param
的参数:"no-unused-vars": ["error", { "argsIgnorePattern": "params"}]
。查看文档:https://eslint.org/docs/latest/rules/no-unused-vars#argsignorepattern