大家好,我是大澈!
今天不搞技术知识,来聊一聊技术理论。受谭光志老师所写前端工程化文章的启发,深有感触,总结一下自己对前端工程化的一些理解心得,分享给兄弟们。
一、定义
前端工程化是软件工程在前端方面的应用,指通过工具、流程和最佳实践,提升前端开发效率、代码质量和可维护性。
很牛的一段解释,好吧,我不太理解~
我觉得,前端工程化就是,让前端项目的完整开发流程从“手工小作坊”变成“现代化流水线”,从而规范有序、分工明确、全自动化、安全可控、速度嘎嘎,进而干的更快、做的更好。
所以,看一个公司牛不牛,就看他前端工程化做的好不好、全不全。
二、什么时候开始做工程化
越早越好~
我觉得,在需求评审阶段就该做工程化了,并且要根据需求及时的变更工程化的方案细节,随机应变是王道。
三、工程化要做什么
实现一个较为完整的前端工程化,包括:技术选型、统一规范、前端组件化、测试、构建工具、自动化部署、前端监控、性能优化、重构、微服务、Severless。
以一个项目的生命周期为例:
1、接到新需求,进行需求评审后根据具体情况做技术选型。
这一步我认为是最基础,也是最重要的,前端新技术栈很多,一定要选择最合适且最高效的技术栈,别搞到最后,发现不合适再去考虑重构,费时费力,得不偿失。
2、开发前需要统一规范。
可以参考大厂代码标准规范,这个可以有效防止队友间暗地互怼,没有为什么。
3、模块化开发、组件化开发。
代码基本功,也是个好习惯,让写的代码更加具有条理性。
4、开发完,需要对代码进行测试。
技术栈:单元测试、端对端(E2E)测试。
测试这里感兴趣的兄弟,可以去看看阿崔老师的前端测试课,看过我觉得讲的还不错。
5、构建打包。
技术栈:Vite。
这个深挖就完事了,挖透了前端也就透了。
6、部署上线。
技术栈:Docker、k8s、Jenkins。
所谓的运维部署三件套,前后端兄弟们都要会哦。
7、对项目进行监控,随时发现问题。
技术栈:Sentry。
个人所欠缺的一块,涉猎甚少,抓紧学起来。
8、根据项目运行情况决定是否要做性能优化。
9、项目越来越复杂,需要重构以提高可维护性。
10、项目越来越大,可以考虑是否用微服务对其进行拆分。
技术栈:qiankun。
对于大型应用的开发和维护,使用微前端能让我们变得更加轻松。不过如果是小应用,建议还是单独建一个项目开发。
11、不想自己管理服务器或数据库,可以考虑使用 Serverless。
Serverless 最大的优点就是弹性扩容和无需亲自管理服务器,最近很火的技术,值得探索一下。
- end -
承接产品推广/软件开发/bug修复,联系和更多内容在绿色App搜@程序员大澈:专注于前后端技术知识分享,最后感谢兄弟们给个点赞、分享、推荐!