ESLint默认配置及修改

ESLint 提供了一组默认的推荐规则配置,这些规则都开启了错误级别。要使用默认规则,可以在 ESLint 配置文件中填写:

{
  "extends": "eslint:recommended" 
}

这会开启以下规则:

  • for-direction - 要求 for 循环中 update 语句为循环变量递增或递减
  • no-async-promise-executor - 禁止使用异步函数作为 Promise executor
  • no-await-in-loop - 禁止在循环中出现 await
  • no-compare-neg-zero - 禁止与 -0 进行比较
  • no-cond-assign - 禁止条件表达式中出现赋值操作符
  • no-console - 禁止使用 console
  • no-constant-condition - 禁止在条件中使用常量表达式
  • no-control-regex - 禁止在正则表达式中使用控制字符
  • no-debugger - 禁止使用 debugger
  • no-dupe-args - 禁止函数定义中出现重复的参数
  • no-dupe-keys - 禁止对象字面量中出现重复的键
  • no-duplicate-case - 禁止出现重复的 case 标签
  • no-empty - 禁止出现空语句块
  • no-empty-character-class - 禁止在正则表达式中使用空字符集
  • no-ex-assign - 禁止对 catch 子句的参数重新赋值
  • no-extra-boolean-cast - 禁止不必要的布尔转换
  • no-extra-parens - 禁止不必要的括号
  • no-extra-semi - 禁止不必要的分号
  • no-func-assign - 禁止对 function 声明重新赋值
  • no-inner-declarations - 禁止在嵌套的块中出现变量声明或 function 声明
  • no-invalid-regexp - 禁止 RegExp 构造函数中存在无效的正则表达式字符串
  • no-irregular-whitespace - 禁止在字符串和注释之外不规则的空白
  • no-obj-calls - 禁止将全局对象作为函数调用
  • no-prototype-builtins - 禁止直接使用__proto__属性
  • no-regex-spaces - 禁止正则表达式字面量中出现多个空格
  • no-sparse-arrays - 禁止稀疏数组
  • no-template-curly-in-string - 禁止在字符串中使用模板字面量占位符语法
  • no-unexpected-multiline - 禁止出现令人困惑的多行表达式
  • no-unreachable - 禁止在return、throw、break 和 continue 语句之后出现不可达代码
  • no-unsafe-finally - 禁止在 finally 语句块中出现控制流语句
  • no-unsafe-negation - 禁止对关系运算符的左操作数使用否定操作符
  • use-isnan - 要求使用 isNaN() 检查 NaN
  • valid-jsdoc - 强制使用合法的 JSDoc 注释
  • valid-typeof - 强制 typeof 表达式与有效的字符串进行比较

如果不想开启 ESLint 推荐的某些规则,可以在 rules 字段中进行覆盖。例如:

{
  "extends": "eslint:recommended",
  "rules": {
    "no-console": "off",
    "no-unused-vars": "warn"
  } 
}

这会:

  1. 继承 eslint:recommended 推荐的规则
  2. 关闭 no-console 规则
  3. 将 no-unused-vars 规则 severity 从 error 改为 warn关闭或修改规则的方法有:

关闭或修改规则的方法有:

  1. “off” 或 0 - 关闭规则
"no-console": "off"
  1. “warn” 或 1 - 开启规则,使用 warning 级别的错误
"no-unused-vars": "warn"
  1. “error” 或 2 - 开启规则,使用 error 级别的错误
"no-async-promise-executor": "error"
  1. 修改规则的选项
"no-unused-vars": ["error", { "vars": "local" }]

这将 no-unused-vars 规则限制到只检查局部变量。

另外,在代码中可以使用注释 /* eslint-disable */ 来临时关闭某条规则。例如:

console.log('foo')  /* eslint-disable no-console */

这会在这一行关闭 no-console 规则。使用 /* eslint-enable */ 来重新开启规则。

通过上述方法,可以很灵活的控制 ESLint 规则的开启和错误级别。对于某些不适用于当前项目的规则,关闭它们会使得 ESLint 检查更加符合预期。所以根据自己的项目特点来配置 ESLint 规则可以最大限度发挥其作用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值