无需登录 数据私有 本地保存

ESLint 禁用注释生成器 - 快速生成忽略规则注释

30
0
0
0

ESLint 禁用注释生成器

快速生成 eslint-disable / eslint-disable-next-line 等忽略规则注释,支持多规则选择与一键复制

禁用下一行
eslint-disable-next-line
禁用当前行
eslint-disable-line
禁用代码块
eslint-disable + enable
禁用整个文件
文件顶部 eslint-disable
🔧 常见禁用
no-console no-debugger no-alert no-unused-vars no-undef
🎨 代码风格
semi quotes indent comma-dangle max-len no-trailing-spaces no-multiple-empty-lines
✅ 最佳实践
eqeqeq no-eval no-var prefer-const no-empty no-redeclare no-param-reassign
📦 TypeScript
@typescript-eslint/no-explicit-any @typescript-eslint/no-unused-vars @typescript-eslint/ban-ts-comment @typescript-eslint/no-non-null-assertion
⚛️ React / JSX
react/prop-types react/jsx-no-target-blank react-hooks/exhaustive-deps jsx-a11y/anchor-is-valid

        
将此注释放在需要忽略的代码的上一行
常见问题

eslint-disable-next-line 放在目标代码的上一行,用于忽略下一行的规则检查。这是最常用的行级禁用方式。

eslint-disable-line 放在目标代码的同一行末尾,用于忽略当前行的规则检查。适合代码行较短、注释不破坏可读性的场景。

示例对比:
// eslint-disable-next-line no-console
console.log('test');

console.log('test'); // eslint-disable-line no-console

在注释中用逗号分隔多个规则名即可:
// eslint-disable-next-line no-console, no-debugger, no-alert

块级禁用同样支持多规则:
/* eslint-disable no-console, no-debugger */
// 你的代码
/* eslint-enable no-console, no-debugger */

如果不在注释中指定任何规则名,则表示禁用所有规则

Vue 单文件组件的 <template><script><style> 区块中都可以使用 ESLint 禁用注释,语法完全相同:

模板中:
<!-- eslint-disable-next-line vue/multi-word-component-names -->
(注意:HTML 注释中使用 eslint-disable 时需要用 HTML 注释语法)

<script> 区块中使用标准的 JavaScript 注释格式即可,与普通 JS 文件完全一致。

ESLint 禁用注释是一把双刃剑。合理使用可以处理特殊情况,过度使用则会削弱代码质量保障。

最佳实践:
1. 尽量精确指定规则:避免使用全量禁用(不指定规则名),明确写出要禁用的规则
2. 优先使用行级禁用eslint-disable-next-line 比块级禁用更精确,影响范围更小
3. 添加说明注释:在禁用注释旁说明原因,便于后续维护
4. 及时恢复:使用块级禁用时,确保 eslint-enable 配对出现
5. 定期审查:在代码审查中关注禁用注释的使用是否合理

ESLint 支持以下几种禁用注释格式:

行级禁用(JavaScript/TypeScript):
// eslint-disable-next-line [规则1, 规则2] — 忽略下一行
// eslint-disable-line [规则1, 规则2] — 忽略当前行

块级禁用:
/* eslint-disable [规则1, 规则2] */ — 开始忽略
/* eslint-enable [规则1, 规则2] */ — 恢复检查

文件级禁用:
在文件顶部添加 /* eslint-disable */ 可禁用整个文件的规则检查

HTML/Vue 模板中:
<!-- eslint-disable-next-line 规则名 -->
<!-- eslint-disable --> ... <!-- eslint-enable -->

方括号中的规则名是可选的,不写则表示禁用所有规则。

以下规则在实际开发中经常需要临时禁用:

no-console — 开发调试时需要使用 console.log
no-debugger — 调试时使用 debugger 语句
no-alert — 某些场景下 alert 是最简单的交互方式
no-unused-vars — 函数签名中的参数暂时未使用
@typescript-eslint/no-explicit-any — 处理动态类型时的权宜之计
react-hooks/exhaustive-deps — useEffect 依赖项有特殊逻辑
max-len — URL 或模板字符串超出长度限制
eqeqeq — 需要利用类型转换的比较

在文件最顶部添加以下注释即可禁用整个文件的所有 ESLint 规则检查:
/* eslint-disable */

如果需要只禁用特定规则,可以指定规则名:
/* eslint-disable no-console, no-debugger */

注意:文件级禁用会影响整个文件,包括文件末尾的代码。如果只想禁用文件的一部分,建议使用块级禁用(搭配 eslint-enable)。