我总是听到前端工程化这个词,似乎一个不懂得工程化前端的前端就是一个非常low的前端,但是工程化到底什么?又是谁在做工程化这个事儿呢?

这似乎是一件值得商榷的事儿。

相信我们都有过类似的经历,被安排到一个项目中去,然后我们熟悉了代码,开始认认真真的开发业务代码。然后我们在开发的过程中针对常用的组件做了封装,针对常用的工具方法做了抽离,针对打包配置了webpack,针对测试写了测试脚本,针对部署写了部署的脚本...

那么我们做的事情能被称为工程化吗?

这倒未必。因为个人理解的工程化的一个重要的结果是规范化

为什么?

因为单个项目只能称之为项目,不能称之为工程,工程是由多个项目组成的,将不同的项目中通用的功能或模块拆分出来形成基建、规范,才能称之为工程化。

而在前端领域的基础建设中,脚手架组件库工具库除了这些常见的基础建设之外,日志系统数据缓存系统静态资源管理系统服务接口架构单元测试规范构建工具ci\cd版本管理代码规范等等,其实都是基础建设。

虽然我们能开发组件库、脚手架、但是对于其他的基建呢?我们可能也会配置webpack、也会设置eslint, 但是我们真正的理解它们的运作机制吗?

能够理解并实践过这些东西的,必定是一个具有架构能力的人。

所以,工程化应该由具有架构能力的人来做。

而在工作中,这个人就是你的TeamLeader。