webpack项目使用eslint建立代码规范实现


Posted in Javascript onMay 16, 2019

首先当然是新建一个项目了。假设项目已经建好了,下面开始配置

1. 安装eslint

如果你还没有全局安装 eslint ,第一件事当然是安装 eslint

npm i -g eslint

2. 初始化 eslint

eslint --init

这个命令会生成一个 .eslintrc 的文件,有几种形式。选自己习惯的形式就行,我的生成的是一个 .eslintrc.js 文件,如下:

module.exports = {
 "extends": "standard"
};

然后就可以简单的lint某个文件了:

eslint yourfile.js

在项目里新添加 eSLint

然后找到 package.json ,把ESLint相关的依赖加进去,当然一个个安装也是可以的,只要你不嫌麻烦

"babel-eslint": "^7.1.1",
"eslint": "^3.19.0",
"eslint-friendly-formatter": "^3.0.0",
"eslint-loader": "^1.7.1",
"eslint-plugin-html": "^3.0.0",
"eslint-config-standard": "^10.2.1",
"eslint-plugin-promise": "^3.4.0",
"eslint-plugin-standard": "^3.0.1",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-node": "^5.2.0",

执行 npm install 就好了

修改默认规则

关于 eslint 配置文件的详解,可以点击这里查看,这里只简单说下eslint规则详情

extends

继承某个已配置好的规则,从某个现有的规则上进行扩展。一般比较流行的eslint规则有三种:Google 标准、airbnb标准、standard标准。

Google 标准安装

npm install eslint eslint-config-google -g

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

standard标准安装

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

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

rules

eslint 启用的规则列表。你可以重写 eslint 的规则,定义级别:

module.exports = {
 rules: {
  'no-console': 1
 }
};

左边是规则,右边是级别。1为警告,2为报错,0为关闭。 规则详情请参考这里

React使用eslint

1. 安装 eslint-plugin-react

npm i eslint-plugin-react

2. 修改 .eslintrc.js

修改 .eslintrc 的代码:

module.exports = {
 "extends": "standard",
 "env": {
  "browser": true,
  "es6": true,
 },
 "parser": "babel-eslint",
 "parserOptions": {
  "ecmaFeatures": {
   "experimentalObjectRestSpread": true,
   "jsx": true
  },
  "sourceType": "module",
  "ecmaVersion": 2018
  },
  "plugins": [
  "react"
  ],
}

参考文章:

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

Javascript 相关文章推荐
分享一个asp.net pager分页控件
Jan 04 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
Jan 22 Javascript
用jquery实现输入框获取焦点消失文字
Apr 27 Javascript
jQuery实现折线图的方法
Feb 28 Javascript
javascript操作ul中li的方法
May 14 Javascript
浅析AngularJS中的生命周期和延迟处理
Jun 18 Javascript
jQuery在线选座位插件seat-charts特效代码分享
Aug 27 Javascript
jQuery 的 ready()的纯js替代方法
Nov 20 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
Aug 07 Javascript
JavaScript伪数组用法实例分析
Dec 22 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
elementUI table表格动态合并的示例代码
May 15 #Javascript
You might like
PHP 程序员也要学会使用“异常”
2009/06/16 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
php制作动态随机验证码
2015/02/12 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
List Installed Software Features
2007/06/11 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
py中的目录与文件判别代码
2008/07/16 Python
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
python基于opencv检测程序运行效率
2019/12/28 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
小学门卫岗位职责
2013/12/17 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
2014年“四风”问题个人整改措施
2014/09/17 职场文书
先进单位申报材料
2014/12/25 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
建国大业观后感600字
2015/06/01 职场文书
追悼词范文大全
2015/06/23 职场文书
小学生暑假生活总结
2015/07/13 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
Python find()、rfind()方法及作用
2022/12/24 Python