background: Web业务日益复杂化和多元化,工程复杂了就产生了许多问题。
conception: 工程化是使用软件工程的技术和方法对项目的开发、上线和维护进行管理。
role: 解放生产力、提高生产效率。 通过制定一系列的规范,借助工具和框架解决前端开发以及前后端协作过程中的痛点和难点。
content:模块化,组件化,规范化,自动化
模块化:node中的commonjs规范,es6中(啊,它的模块化解决方案竟然没有官方的名字!)只有解决方案,那就是export,import
避免变量污染,与命名冲突
组件化:提高代码复用率,提高可读性。(如何组织一个组件也是需要锻炼的部分哦!)
本地开发解决方案:提供热更新,自动刷新,等功能。提供dev服务,mock数据的能力,达到不依赖后端的情况下实现前后端分离
规范化:
代码提交规范
代码管理
前后端接口规范
自动化:
自动化构建:webpack
线上部署解决方案:
Jenkins: 集构建、发布、部署为一体的综合性工具。
自动化测试:selenium