首页   

JavaScript代码质量及eslint

京东成都研究院  · 成都  · 5 年前

引言

随着前端模块化技术的引入, 前端开发越来越趋向于后端的开发模式, 一个页面的 JavaScript 代码量在飞速增长, 特别是 WebApp 的开发。为了减少理解自己之前编写的代码的时间, 或节省同事读懂自己代码的时间 (减少被吐嘈的次数), 如何编写高质量的代码是码农们都需要关注的。

1

一、高质量代码标准

  1. 精简 - 冗余性少

  2. 重用 - 预见性好

  3. 有序 - 阅读性好

2

二、JS代码质量检查工具

jslint:

  1. 制订编码规则

  2. 警告给开发者

  3. 无法关闭警告

jshint:

  1. JSHint继承JSLint

  2. 可以调整编码规则

  3. 可以支持ES6语法校验

1、jslint 与 jshint 的最大缺点

无法自定义

2、后起之秀-eslint

  1. 灵活:任何规则都可以开启闭合,以及有些规则有些额外配置

  2. 很容易拓展和有需要可用插件

  3. 容易理解产出

  4. 包含了在其他检查器中不可用的规则,使得ESLint在错误检查上更有用

  5. 支持ES6,唯一支持JSX的工具

  6. 本身不支持ES7,但可以使用babel-eslint

  7. 支持自定义报告

3

三、eslint的使用

1、本地安装

如果你想包括ESLint作为你的项目构建系统的一部分,我们建议在本地安装。你可以使用npm:

npm install eslint -D

初始化一个配置文件:

./node_modules/.bin/eslint --init

运行eslint检测文件

./node_modules/.bin/eslint yourfile.js

2、全局安装

如果你想让ESLint可用到所有的项目,我们建议安装ESLint全局安装。你可以使用npm:

npm install eslint -g

初始化一个配置文件:

eslint --init

运行eslint检测文件

eslint yourfile.js

3、在项目根目录编写配置文件: .eslintrc

4、推荐的配置和插件

  1. eslint-config-standard

  2. eslint-config-airbnb

  3. eslint-plugin-react

  4. eslint-plugin-import

  5. eslint-plugin-jsx-a11y

4

四、eslint在sublime text3中使用

1、先安装两个nodejs插件 {:.text-info}

npm install eslint -g

npm install babel-eslint -g

2、在sublime里安装eslint插件

  1. 安装 SublimeLinter

  2. 调出package      control搜索SublimeLinter进行安装

  3. 安装 SublimeLinter-contrib-eslint

  4. 调出package control搜索eslint安装即可,全名:SublimeLinter-contrib-eslint。注意:该插件只支持Sublime      text 3

  5. SublimeLinter-eslint 替换      SublimeLinter-contrib-eslint

3、sublime中的效果

5

五、eslint在webpack中使用

1、在webpack配置中使用eslint加载器了。

2、也可以创建文件.eslintrc 并引入 webpack.config.js

3、使用webpack的preLoaders

4、webpack3 的配置

5、webpack执行效果

6

六、eslint在git中使用

1、安装git钩子

npm install husky@next -D

另一个git钩子 pre-commit

2、配置package.json

3、提交代码后的效果

7

七、eslint的自定义规则

1、eslint的原理 JavaScript解析

2、AST解析与规则开发工具

http://astexplorer.net/

3、创建一个简单的规则

4、eslint的规则脚手架

generator-eslint

npm install -g yo

npm install -g generator-eslint

generator-eslint使用

yo eslint:plugin

yo eslint:rule

5、安装本地eslint-plugin

npm install -D ./eslint-plugin-my

6、自定义规则的配置

7、自定义规则的效果

推荐文章
格上财富  ·  资本市场正迎来新一轮结构性机会  ·  1 年前  
北京生活杂志  ·  八张图带你了解中国各地民居样式 ...  ·  1 年前  
深圳特区报  ·  在哪过年,权威通知来了!  ·  3 年前  
笑笑杂技演员  ·  是什么让年轻人甘愿受接受社会的毒打!  ·  3 年前  
虎嗅APP  ·  旅人陈星汉  ·  5 年前  
© 2022 51好读
删除内容请联系邮箱 2879853325@qq.com