ESLint默认配置及修改

news/2025/2/4 3:01:48/

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 规则可以最大限度发挥其作用。


http://www.ppmy.cn/news/125475.html

相关文章

商城订单管理系统

订单管理系统 某购物商场,想做一个在线购物的程序,客户可以通过程序自助购物,要求有显示商品、选购商品、购物车、历史订单等功能。 学习目标 通过这个案例我们想达到的学习目标是 以下几点 - 1.熟练使用BufferedReader和BufferedWriter读…

国产芯片WiFi物联网智能插座—项目简介

目录 1、项目背景 2、项目功能 3、硬件设计 随着智能电子设备的不断进步和发展,必然会提升智能设备的使用率,诸如智能移动设备、智能家居等设备发展极为迅速。物联网作为一个互联网和通信网络的信息载体,能够使物理对象实现网络互通&#…

微信小程序开发的学习资料收集

一、学习内容汇总: 官方工具:https://mp.weixin.qq.com/debug/w ... tml?t1476434678461简易教程:https://mp.weixin.qq.com/debug/wxadoc/dev/?t1476434677599设计指南:微信小程序设计指南 | 微信开放文档设计资源下载&#x…

2022中国智能家居产业博览会

时间:2022年7月8日-10日 地点:南昌绿地国际展览中心 主办单位:南昌市人民政府 中国通信工业协会 承办单位:南昌市商贸和会展服务中心 南昌市商务局 高新区管委会 执行承办单位:中国通信工业协会品控自律联盟 南昌市安…

智能门锁迈入“长尾”时代

文|智能相对论 作者|佘凯文 “智能门锁又摊上事了。” 日前,一女子在网上发布视频称自己用了一年的智能门锁,居然任意密码就能打开?前不久,在其输密码进家门时无意输错密码,奇怪的是家门竟然可以打开。而后女子胡乱…

【程序员讲装修】平台选择第三期

【程序员讲装修】平台选择第三期 前言 有意思,昨天我写了一篇博客《【程序员讲装修】平台选择后续》,用来描述前天写的这篇博客《程序员讲装修——平台选择》,其中有些内容还是有些偏颇,描述不准确。 不准确的地方就是对今日头…

中国电工开关产业市场调查及未来发展趋势预测报告2022-2028年

中国电工开关产业市场调查及未来发展趋势预测报告2022-2028年 详情内容请咨询鸿晟信合研究网! 【全新修订】:2022年3月 【撰写单位】:鸿晟信合研究网 第一章 电工开关产业概述 17 第一章 电工开关产业概述 17 第一节 电工开关产业定义 17 第…

3000+价位投影仪该怎么选?双十一投影仪选购攻略

随着时代的发展和科技进步,年轻人目前对于娱乐的需求越来越高。而Z时代对于娱乐需求的智能化程度要求就更上一层楼了。根据最新调查显示,目前Z时代中对于家电的需求程度中,家用投影仪的需求量甚至排到了第一。 因此可以说,目前投…