eslint 的三大通用规则详解


Posted in Javascript onMay 16, 2019

安装

可以全局安装,也可以在项目下面安装。 如下是在项目中安装示例,只需要在 package.json 中添加如下配置,并进行安装: >"eslint": "^4.11.0"

配置

配置方式有两种,但建议使用文件配置的形式,比较独立,便于维护。 使用文件配置的方式:在项目的根目录下,新建一个名为 .eslintrc 的文件,在此文件中添加一些检查规则。

文件配置方式

env:你的脚本将要运行在什么环境中

Environment可以预设好的其他环境的全局变量,如brower、node环境变量、es6环境变量、mocha环境变量等

'env': {
  'browser': true,
  'commonjs': true,
  'es6': true
 },

globals:额外的全局变量

globals: {
  vue: true,
  wx: true
 },

rules:开启规则和发生错误时报告的等级

规则的错误等级有三种:

  • 0或'off':关闭规则。
  • 1或'warn':打开规则,并且作为一个警告(并不会导致检查不通过)。
  • 2或'error':打开规则,并且作为一个错误 (退出码为1,检查不通过)。

参数说明:

  • 参数1 : 错误等级
  • 参数2 : 处理方式

配置代码注释方式

有时我们可能要在代码中忽略eslint的某种检查,或者加入某种特定检查,此时我们可以用如下的方式:

示例:

忽略 no-undef 检查
/* eslint-disable no-undef */

忽略 no-new 检查
/* eslint-disable no-new */

设置检查
/*eslint eqeqeq: off*/ /*eslint eqeqeq: 0*/

eslint 检查指令

检查且修复
eslint * --fix

检查指定文件
eslint app.js --fix

eslint官方提供了3种预安装包:

1、eslint-config-google

Google标准

执行安装:

npm install eslint eslint-config-google -g

2、eslint-config-airbnb

Airbnb标准,它依赖eslint, eslint-plugin-import, eslint-plugin-react, and eslint-plugin-jsx-a11y等插件,并且对各个插件的版本有所要求。

你可以执行以下命令查看所依赖的各个版本:

npm info "eslint-config-airbnb@latest" peerDependencies

你会看到以下输出信息,包含每个了每个plugins的版本要求

{ eslint: '^3.15.0',
 'eslint-plugin-jsx-a11y': '^3.0.2 || ^4.0.0',
 'eslint-plugin-import': '^2.2.0',
 'eslint-plugin-react': '^6.9.0' }

知道了每个plugins的版本要求后,代入以下命令执行安装即可使用:

npm install eslint-config-airbnb eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.# -g

3、eslint-config-standard

Standard标准,它是一些前端工程师自定的标准。

执行安装:

npm install eslint-config-standard eslint-plugin-standard eslint-plugin-promise -g

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery下实现overlay遮罩层代码
Aug 25 Javascript
jQuery 三击事件实现代码
Sep 11 Javascript
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
Feb 26 Javascript
jquery中radio checked问题
Mar 16 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
详解微信第三方小程序代开发
Jun 23 Javascript
使用canvas实现一个vue弹幕组件功能
Nov 30 Javascript
layui递归实现动态左侧菜单
Jul 26 Javascript
QML实现圆环颜色选择器
Sep 25 Javascript
vue实现短信验证码登录功能(流程详解)
Dec 10 Javascript
javascript实现前端分页功能
Nov 26 Javascript
webpack项目使用eslint建立代码规范实现
May 16 #Javascript
Vue项目中使用jquery的简单方法
May 16 #jQuery
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
May 16 #Javascript
详解vue2.0模拟后台json数据
May 16 #Javascript
详解Vue-Router源码分析路由实现原理
May 15 #Javascript
微信小程序select下拉框实现效果
May 15 #Javascript
详解js常用分割取字符串的方法
May 15 #Javascript
You might like
php循环输出数据库内容的代码
2008/05/24 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
Javascript 按位与赋值运算符 (&=)使用介绍
2014/02/04 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python求出0~100以内的所有素数
2018/01/23 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
python中return的返回和执行实例
2019/12/24 Python
python3 xpath和requests应用详解
2020/03/06 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
给校长的建议书作文400字
2015/09/14 职场文书
总结Python使用过程中的bug
2021/06/18 Python
MySQL分区以及建索引的方法总结
2022/04/13 MySQL