ESLint 的 no-unused-vars 规则怎么配置才能忽略某些变量? ლ松奇 提问于 2026-03-19 16:33:19 阅读 14 工具 我在项目里启用了 ESLint,但 no-unused-vars 报错太多了,尤其是那些我故意留着备用的变量。比如: const debugMode = true; // 后面还没用到,但我不想删 试过在注释里加 /* eslint-disable no-unused-vars */,但整块都关了不太安全。有没有办法只忽略特定变量名,比如以 debug 或 _ 开头的? ESLint规则配置 我来解答 赞 2 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 司马雨诺 Lv1 可以用 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 加载更多 相关推荐 1 回答 56 浏览 ESLint的ignore文件怎么设置才能排除node_modules和特定HTML文件? 我在项目里配置了ESLint,但想排除node_modules和test.html文件,试过在.eslintrc.json里写ignorePatterns,结果node_modules还是被检查,te... シ耀择 工具 2026-02-02 13:38:39 2 回答 62 浏览 ESLint extends继承多个配置时顺序有影响吗? 在项目里同时继承airbnb和自定义配置,但no-unused-vars规则冲突。比如这段HTML代码:<div>{{ unusedVar }}</div>配置文件写成这样:{... 诸葛慧青 工具 2026-01-27 09:43:12 1 回答 24 浏览 ESLint的ignorePatterns配置为什么没生效? 最近在项目里配置了ESLint的ignorePatterns,把node_modules和dist目录加上去了,但运行时发现dist里的文件还是被检查了,这是怎么回事啊? 我的.eslintrc.js... 志远🍀 工具 2026-02-09 18:40:32 2 回答 53 浏览 ESLint的no-undef规则为什么还是会报未定义变量? 大家好,我在项目里启用了ESLint的no-undef规则,但代码里明明已经声明的全局变量 还是会被标记为未定义。比如在vue文件顶部写了window.myVar = 'test' 后面使用时提示"m... 皇甫静依 工具 2026-01-30 23:21:24 1 回答 32 浏览 ESLint 的 ignore 文件到底该怎么写才生效? 我在项目根目录加了 .eslintignore,想忽略 dist 目录,但 ESLint 还是报错。我写的是 dist/,也试过 dist/**,都不行,是不是格式写错了? 我的 .eslintign... 书生シ巧丽 工具 2026-03-17 07:30:15 1 回答 45 浏览 ESLint extends配置继承后规则冲突怎么办? 在项目里同时用了eslint:recommended和公司自定义的配置,结果no-console规则冲突了。我尝试在根配置里覆盖规则,但保存时还是报错:Error: Definition for ru... シ福萍 工具 2026-02-04 13:08:26 2 回答 53 浏览 ESLint配置extends继承后自定义规则不生效怎么办? 我在项目里用eslint-config-airbnb配置了基础规范,然后在项目根目录的.eslintrc.js里加了自定义规则: module.exports = { extends: ['airbn... 萌新.付楠 工具 2026-01-31 18:47:29 2 回答 59 浏览 为什么我的JavaScript代码在ESLint中报错 ‘no-undef’? 大家好,我在用ESLint检查代码时遇到了一个奇怪的问题。当我这样写配置函数的时候: function init() { console.log(myConfig.apiKey); // 这里报错 }... シ晶晶 前端 2026-01-29 20:16:24 2 回答 32 浏览 ESLint规则冲突导致技术债务增加该怎么平衡? 最近团队统一了ESLint配置,但发现某些规则在紧急迭代时特别影响效率。比如必须用立即执行函数包裹组件逻辑,但快速修Bug时总想直接导出函数。 试过把规则设为warn,但同事说这样失去规范意义。现在每... Mr.夏沫 前端 2026-01-26 16:36:24 2 回答 48 浏览 ESLint配置中extends顺序会影响规则优先级吗? 在项目里同时用了airbnb和vue的ESLint配置,调整extends顺序后报错还是没解决,这是怎么回事? 我设置了这样的配置文件: module.exports = { extends: [ '... Des.子武 前端 2026-01-25 22:24:24
varsIgnorePattern选项来搞定,在你的 ESLint 配置里这样写:这个正则
^(debug|_)的意思是:变量名以 debug 或者下划线开头就不会报错了。如果你想更灵活一点,比如只忽略特定的前缀,可以改成这样:
或者用命名约定的方式,很多人惯用下划线前缀表示"这个变量我暂时不用但先留着",跟你的场景很契合。
另外还有一个
argsIgnorePattern是专门管函数参数的,如果你的函数参数也有类似需求:这样下划线开头的变量和函数参数都不会报错了。配置完记得重启 ESLint 服务让它生效。