ESLint 的 no-unused-vars 规则怎么配置才能忽略某些变量?

ლ松奇 阅读 14

我在项目里启用了 ESLint,但 no-unused-vars 报错太多了,尤其是那些我故意留着备用的变量。比如:

const debugMode = true;
// 后面还没用到,但我不想删

试过在注释里加 /* eslint-disable no-unused-vars */,但整块都关了不太安全。有没有办法只忽略特定变量名,比如以 debug_ 开头的?

我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
司马雨诺
可以用 varsIgnorePattern 选项来搞定,在你的 ESLint 配置里这样写:

// .eslintrc.js
module.exports = {
rules: {
'no-unused-vars': ['error', {
varsIgnorePattern: '^(debug|_)' // 忽略以 debug 或 _ 开头的变量
}]
}
}


这个正则 ^(debug|_) 的意思是:变量名以 debug 或者下划线开头就不会报错了。

如果你想更灵活一点,比如只忽略特定的前缀,可以改成这样:

varsIgnorePattern: '^_'  // 只忽略以下划线开头的变量


或者用命名约定的方式,很多人惯用下划线前缀表示"这个变量我暂时不用但先留着",跟你的场景很契合。

另外还有一个 argsIgnorePattern 是专门管函数参数的,如果你的函数参数也有类似需求:

'no-unused-vars': ['error', {
argsIgnorePattern: '^_',
varsIgnorePattern: '^_'
}]


这样下划线开头的变量和函数参数都不会报错了。配置完记得重启 ESLint 服务让它生效。
点赞
2026-03-19 17:03