# 简介

随着前端发展的不断壮大,前端工程化这个词被大家越来越多的提起,部门规划必做项,面试必问项。在目前大环境下不知道前端工程化已然不是一名合格的前端。

那么问题来了

  • 什么是前端工程化
  • 为什么需要它?
  • 作为一名开发同学,我能用它来做什么?
  • 作为前端leader,我如何在部门的项目中如何开展工程化?

本小册通过对项目从零开始,针对产研流程,从项目立项、开发、构建、测试、部署等方面梳理前端工程化,跟大家共同探究上述问题

# 什么是前端工程化

从程序员的角度来说,我们通常所说的工程化指的是软件开发领域里对工程方法的系统应用。

1993年,电气电子工程师学会(IEEE)给出了一个更加综合的定义:"将系统化的、规范的、可度量的方法用于软件的开发、运行和维护的过程,即将工程化应用于软件开发中"。

通过IEEE的定义,我们可以发现,工程化有几个特点

  • 系统化
  • 规范的
  • 可度量的

现在再回顾我们平时接触的项目,是不是或多或少都有工程化几个特点的影子

  • 使用框架(系统化)
  • 代码加不加分号(规范化)
  • 使用ESLintWebpack等工具(可度量)

由此可见,前端工程化是将前端的开发流程、技术、工具、经验等规范化、标准化。

# 前端为什么需要工程化

我们在探究前端为什么需要工程化之前,应该先了解前端的发展历史。

从刀耕火种到ajax出现,再到jQuery诞生,Bootstrap兴起,再到node.js出现,三大框架诞生,直至现在百花齐放

我们的需求也从用tr,td写静态页面,到后来动效满天飞,现在各种低代码平台、无代码平台的搭建

从前端的发展中我们不难发现,当前对于前端的要求已经越来越高,在开发的过程中,需要我们去注意

  • 如何减少不必要的重复工作时间(降本
  • 如何提高开发过程中的开发效率(增效

这两点要求与工程化的思想不谋而合,所以前端工程化就成了必然的选择

# 小结

前端工程化无非指的就是降本增效两个方面

我们平时接触的构建打包、性能优化、自动化部署等相关知识都属于前端工程化的范畴