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 相关文章推荐
判断脚本加载是否完成的方法
May 26 Javascript
JavaScript作用域链使用介绍
Aug 29 Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 Javascript
js单词形式的运算符
May 06 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
JavaScript数据类型转换的注意事项
Jul 31 Javascript
详解jQuery简单的表格应用
Dec 16 Javascript
vue中用动态组件实现选项卡切换效果
Mar 25 Javascript
JS实现去除数组中重复json的方法示例
Dec 21 Javascript
Node.js使用cookie保持登录的方法
May 11 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
Feb 02 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
May 16 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作的文本留言本的例子(二)
2006/10/09 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
JS实现带鼠标效果的头像及文章列表代码
2015/09/27 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
学习python 之编写简单乘法运算题
2016/02/27 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
交通事故赔偿协议书怎么写
2014/10/04 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
Python中tkinter的用户登录管理的实现
2021/04/22 Python
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android