ESLint 的 inline 注释怎么突然不生效了? ♫星语 提问于 2026-03-25 08:33:23 阅读 7 工具 我之前用 // eslint-disable-next-line 跳过某一行的 ESLint 报错一直没问题,但今天新加的一行却还是报错,完全没被忽略。 代码是这样的: const unusedVar = 'I know it's unused'; // eslint-disable-next-line no-unused-vars console.log('hello'); 是不是注释位置写错了?还是规则名变了?试了几个写法都不行,有点懵。 我来解答 赞 3 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 ❤名赫 Lv1 这个问题听起来挺常见的,有时候 ESLint 的行为会让人摸不着头脑。我们一步一步来排查一下。 首先,eslint-disable-next-line 注释的作用是告诉 ESLint 忽略下一行的错误。你提到的写法看起来是对的,但是注释的位置很重要。具体来说,eslint-disable-next-line 需要放在它所要忽略的行的前一行的末尾。 你贴的代码里,注释的位置是在错误行的后面,这样 ESLint 就不会识别到这个注释了。正确的写法应该是把注释移到 unusedVar 定义的那一行的前面,像这样: // eslint-disable-next-line no-unused-vars const unusedVar = 'I know it's unused'; console.log('hello'); 这里需要注意的是,注释一定要紧跟在要忽略的代码行的上面,并且要确保没有空行隔开。如果有空行或者换成了多行注释 /* */,ESLint 可能就不会生效了。 接下来,检查一下你的 ESLint 配置文件(通常是 .eslintrc.js 或类似的文件),确保 no-unused-vars 规则没有被全局禁用或者覆盖。虽然 eslint-disable-next-line 应该会覆盖局部配置,但有时候全局配置可能会有奇怪的影响。 最后,清理一下缓存并重启你的编辑器或者终端。有时候 IDE 或者编辑器的缓存会导致配置没有及时更新。 通过这些步骤,应该可以解决你遇到的问题。如果还不行,可能需要检查一下是否有其他插件或者工具干扰了 ESLint 的正常工作。希望这些建议对你有帮助。 回复 点赞 2026-03-25 09:00 加载更多 相关推荐
首先,
eslint-disable-next-line注释的作用是告诉 ESLint 忽略下一行的错误。你提到的写法看起来是对的,但是注释的位置很重要。具体来说,eslint-disable-next-line需要放在它所要忽略的行的前一行的末尾。你贴的代码里,注释的位置是在错误行的后面,这样 ESLint 就不会识别到这个注释了。正确的写法应该是把注释移到
unusedVar定义的那一行的前面,像这样:这里需要注意的是,注释一定要紧跟在要忽略的代码行的上面,并且要确保没有空行隔开。如果有空行或者换成了多行注释
/* */,ESLint 可能就不会生效了。接下来,检查一下你的 ESLint 配置文件(通常是
.eslintrc.js或类似的文件),确保no-unused-vars规则没有被全局禁用或者覆盖。虽然eslint-disable-next-line应该会覆盖局部配置,但有时候全局配置可能会有奇怪的影响。最后,清理一下缓存并重启你的编辑器或者终端。有时候 IDE 或者编辑器的缓存会导致配置没有及时更新。
通过这些步骤,应该可以解决你遇到的问题。如果还不行,可能需要检查一下是否有其他插件或者工具干扰了 ESLint 的正常工作。希望这些建议对你有帮助。