作为一名前端开发工程师,你真的会用ESLint吗?

44 阅读2分钟

1. eslint概述

image

eslint是前端script 代码规范检测工具.

作用是啥:

  • 保证一致的代码风格,提升项目可维护性

  • 根据最佳实践减少语法问题导致的潜在bug,提升项目稳定性和安全性

能做啥:

  • 包括但不限于js,ts及各种前端框架vue,react,angular,svelt......

不能做啥

  • json,css,markdown非js代码无法检测.这些语言由其他检测工具检测,比如stylelint,markdownlint,htmlhint

2. eslint工作流程

我们要让规范意识深入到每个开发人员的内心中去,在开发各环节进行代码质量把控,确保发布的代码具有较高的稳定性和安全性.

image

  • 开发阶段:
    • 在项目中配置eslint
    • 通过IDE的eslint插件对编辑中的文档进行实时检测
    • 在编辑过程中及时发现解决问题
  • 上传阶段:
    • 配置git钩子
    • 上传代码时由eslint cli工具对增量代码进行检测
    • 确保进入仓库的代码都是符合规范的
  • 部署阶段:
    • 各种devops工具(gitlibci/genkins/sonarqube)触发
    • 由eslint cli工具对全量代码检测
    • 确保发布的代码都是符合规范的

3. eslint配置文件构成

image

内置规则

  • eslint官方内置的ecmascript规则

第3方插件

  • 各个框架相关的规则

自研插件

  • 根据公司独特规范开发的规则

所有规则默认禁用状态.根据公司实际情况,启用对应规则,形成自己的eslint标准规范.并输出npm包进行统一管理 .

4. eslint规范开发流程

image

规范是动态更新的过程.并不是你设设定好一个规范就完事儿了,根据项目进度,团队成员能力要时刻更新规范和完善工具.

比如

  • 圈复杂度,在团队成员能力还需要提升的时候,就不要强制要求函数的圈复杂度.经过一段时间训练后,再将圈复杂度的规范给添加进去
  • 单元测试规范,在团队还没有编写单元测试的习惯时,做单元测试的规范要求就是纯属纸上谈兵,毫无实际用处,待团队成员真正开始写单元测试的时候,再来更新完善单元的规范