近些年来,随着前端项目复杂度的不断提高,前端工程化
被越来越多的公司与开发者所重视。
从业务层面来说,前端工程化俨然已成为一线互联网前端团队的标配,稍具规模的团队都会根据自身业务设计出一套符合当前业务需求的前端架构。对前端开发者来说,前端工程化已逐渐成为初、中级前端与资深前端的分界线。例如很多大厂的初、中级前端只负责编写业务代码,而资深前端则会使用前端工程化,去接触更高层次的前端架构设计,向技术管理岗晋升。
这也是为什么很多前端开发者已经熟练使用react/vue/next/nust/webpack/koa
等前端框架,但升职加薪依然遥不可及。因此前端开发者想要突破工作局限性,实现跳跃式涨薪,掌握前端工程化必不可少!
前端工程化是什么
说了这么多,前端工程化到底是什么呢?前端工程化是指使用软件工程的技术与方法对前端开发的技术、工具、流程、经验、方案等指标标准化,它具备模块化、组件化、规范化、自动化四大特性,主要作用就是降低成本
与提升效率
。
-
模块化是前端工程化的重中之重,它在
前端工程化
上的表现就是在文件层面上拆分、组装代码与资源,具体来说就是将一个大文件拆分为相互依赖的小文件,再统一拼装与加载。 -
组件化是前端工程化的重要基础,着重在功能层面上拆分、组装交互与设计, 具体来说就是将一个具备通用功能的交互设计划分为模板、样式和逻辑组成的功能单元,实现代码高效复用,提升开发效率。
-
规范化是前端工程化的重要部分,主要作用是将松散的规范通过指定标准凝聚在一起,将所有工作流程标准化,协同所有开发者以标准化的方式去定义工作流程,每一个成熟的前端团队都有一套身经百战的规范化方案。
-
自动化指将一系列繁琐重复的工程工序交由程序根据预设脚本自动处理,整个工作流程无需人工参与,解放开发者双手让其更专注业务需求的开发。
很多同学在不了解前端工程化
前,遇到以下情况经常不知所措:
-
构建配置、打包配置、公共组件、工具函数等代码片段,每次新开项目都要复制粘贴;
-
团队成员的编码风格大相径庭,导致从仓库拉取下来的代码运行起来令控制台一片红;
-
团队协作的规范、环境、模块、仓库和文档,太多基建措施导致团队新成员无从入手;
-
随着需求迭代引起项目结构与工程文件不断变化,处理不当让项目直接走向重构道路。
事实上,只要将前端工程化的开发思维与解决方案应用到项目中,利用好它的优势,就能轻松实现这些需求,为业务降本增效。
总之,前端工程化不是某个具体的工具,而是对项目的整体架构与整体规划,使我们能在未来可判时间内动态规划项目的发展走向,以提升整个项目对用户的服务周期。学习前端工程化不仅能理解清楚一个项目的完整流程,遇到困难也能在复杂的流程中快速定位并解决问题,还能根据自身知识储备制定一些可扩展流程或预见项目的未来发展方向。
如何系统学习前端工程化?
但是,想要系统学习前端工程化不是一件容易的事情。看到这,有些同学可能会说:“前端工程化不就是封装组件库吗?那我也会前端工程化!”
前端工程化可不知识会封装组件库就可以了。首先,我们要有明确前后端分离的任务能力
。简而言之,就是要能一眼看出该任务属于前端还是后端,划分好前后端的职责更利于前端工程化的接入。这也是基于前端工程化解决问题的基础。其次,我们要掌握前端工程化的四大核心特性
,模块化、组件化、规范化和自动化。知道它们是怎么实现的,它们各自的标准是什么,因为所有前端工作流程都离不开这些核心内容,
虽然很多社区也都有前端工程化相关文章教程,但它们只针对前端工程化的某个技能,零零星星的知识点与断层式的学习很难充分实践前端工程化。
作为一名网易的资深前端工程师,近三年来,JowayYoung 一直在前端工程化领域实践,利用工程架构的知识重构了众多项目,包括但不限于服务器
、脚手架
、组件库
、工具库
、多包仓库
、私有仓库
、服务部署
、文档系统
、监控系统
、CI/CD
和可移植容器
等。有了这些前端工程化技术的加持, JowayYoung 负责的项目也从手动处理流程全部替换为自动处理流程,以解放团队双手,让其他成员更专注于自身业务需求。
基于此,JowayYoung 将这些经验总结了下来,希望能在这本小册中与你分享。为了让前端工程化小册适合更多开发者,JowayYoung 会以小白的身份,与你一起深入工程的各个环节,带你走完前端工程化落地的全过程。
具体来说,小册主要分为 6 大模块。
- 规范篇:熟悉
模块/代码/提交
三大开发阶段规范,通过规范约束自己,保障工作质量与提升开发效率。 - 服务篇:熟悉
云服务器/域名系统/站服务器
部署服务环境,掌握整体部署与工具配置,学会独立上线网站与应用。 - 环境篇:熟悉
Node/Nvm/Npm
部署开发环境,独立搭建一个接口服务
,实践环境/镜像/数据/进程
四种Node
应用方式。 - 构建篇:熟悉
构建工具
打包类库模块,独立封装一个类库模块
,结合测试用例
保障代码的生产质量。 - 组织篇:熟悉
Monorepo模式
管理多包仓库,独立维护一个多包仓库
,结合Npm Scope
发布模块到公共仓库。 - 部署篇:熟悉
自动化工具
部署前端项目,独立打造一个私有仓库
与文档站点
,结合CICD
在提交代码时自动部署到公网。
总之,在学习具体技能的同时我们要重视工程化的解决思路,灵活运用它对我们的工作能力与自身竞争力都会有很大的提升。
小册正值上新特惠期,限时 6
折~
仅需 ¥17.94
就能落地前端工程化
,告别纸上谈兵!
还等什么,快来加入学习吧!