宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

复杂的Web应用,一般需要几十上百人共同开发维护,其前端界面也颇具规模,工程量是非常庞大的,这就要求我们从软件工程师的角度来思考前端开发,用工程化的手段来解决前端开发中遇到的各种问题,提升团队的开发效率。这就是所谓的前端工程化。

如果有想学习前端的程序员,可来我们的前端学习扣qun:953049818,
免费送前端的视频教程噢!
我每晚上8点还会在群内直播讲解前端知识,欢迎大家前来学习哦。

前端工程化如何做

一些人可能认为,前端工程化无非就是库/框架选型+简单的构建化+JavaScript/CSS模块化开发。
其实这只是工程化的一部分,当我们开发一个完成的web应用时,将面临更多的问题,如:如何多人协作开发 组件模块如何复用 如何调试部署 版本如何管理控制 性能如何优化等。因此想做好前端工程化,需要做好一下几件事:

1. 开发规范

制定好开发 、部署的目录规范、编码规范。好的目录规范能让项目结构清晰,便于维护和扩展;
好的编码规范能让团队同学的代码风格统一,便于代码审查。

2. 模块化

针对JavaScript、CSS,以功能或业务为单元组织代码。
JavaScript模块化方案有很多,如ES6 Module等。
CSS模块化开发基本上都是在Less、Sass等预处理器的import/mixin特性下支持实现的。

3. 组件化

把页面拆分成多个组件(component),每个组件依赖的CSS、JavaScript、模板、图片等资源放在一起开发和维护。
组件是资源独立的,组件在系统内部可复用,组件和组件之间可以嵌套。
现在流行的一些框架如React、Vue.js等都提倡组件化开发方式。

4.组件库

有了组件化,我们还希望把一些非常通用的组件或者JavaScript模块放到一个公共的地方供团队共享,方便新项目的复用,这就形成了组件库。常见的组件库有bower、component等。

5.性能优化

通过工程化手段来解决性能优化问题。
比如常见的请求合并、资源压缩、CDN,bigpipe和bigrender,都是通过工程化手段来保证的,而对业务开发者是透明的。

6.项目部署

项目部署一般包括静态资源缓存、CDN、增量发布等问题。
合理的静态资源部署可以为前端性能带来较大的优化空间,而增量发布又为项目的版本控制、A/BTest方法提供了保证。

7.开发流程

完整的开发流程包括本地开发调试、视觉走查确认、前后端联调、测试、上线等环节,通过一些工具对开发流程进行改善可以大幅度降低研发成本。

8.工程工具

工程工具包括构建与优化工具、开发-调试-部署等流程工具、组件获取和提交工具等。这些工具旺旺都是独立的系统,如果分开来用,成本太高了。因此能否串联这些功能,是的前端开发可以持续集成,工具就变得至关重要。