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 相关文章推荐
javascript 验证日期的函数
Mar 18 Javascript
js创建对象的几种常用方式小结(推荐)
Oct 24 Javascript
JavaScript 5 新增 Array 方法实现介绍
Feb 06 Javascript
html组件不可输入(只读)同时任何组件都有效
Apr 01 Javascript
js实现星星打分效果的方法
Jul 05 Javascript
微信小程序 弹幕功能简单实例
Feb 14 Javascript
JavaScript实现星星等级评价功能
Mar 22 Javascript
微信小程序Redux绑定实例详解
Jun 07 Javascript
基于JavaScript实现幸运抽奖页面
Jul 05 Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 Javascript
Javascript实现简易天数计算器
May 18 Javascript
原生JS实现微信通讯录
Jun 18 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变量作用域以及地址引用问题
2013/12/27 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
Python二分查找详解
2015/09/13 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
python实现弹跳小球
2019/05/13 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
学python爬虫能做什么
2020/07/29 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
财政局长自荐信范文
2013/12/22 职场文书
公司庆典邀请函范文
2014/01/13 职场文书
早读迟到检讨书
2014/01/24 职场文书
工作疏忽检讨书
2014/01/25 职场文书
文明学生事迹材料
2014/01/29 职场文书
《菜园里》教学反思
2014/04/17 职场文书
优秀党员申报材料
2014/12/18 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
Python OpenCV实现图形检测示例详解
2022/04/08 Python