前端工程化是指遵循一定的标准和规范提高开发效率、降低成本、保证质量的一种手段。
它的出现主要是因为对前端的要求不断提高,业务逻辑越来越复杂,从传统的网站到现在的h5,桌面应用以及小程序,以前的前端就是写页面写demo,实现的东西比较简单,前端工程化就是在这样的背景下被提出来了,成为前端工程师必备的手段之一。
前端工程化主要从模块化,组件化,规范化,自动化四大方面出发
为了解决的问题:
- 想要使用es6新特性但是兼容有问题
- 想要使用less,sass增强css的编辑性,但是运行环境不可以支持,
- 想要使用模块话的方式提高项目的可维护性,
- 部署上线之前需要手动压缩代码和资源文件
- 多人开发,无法统一大家的代码风格,从仓库中pull回来的代码无质量保证
- 开发时需要等待后端接口提前完成 以上都是在没有工程化之前的一些典型的问题,
主要解决的问题
- 传统语言或语法的弊端
- 大量手动重复机械式的工作
- 开发团队代码风格的不统一
- 前端项目开发依赖于后端服务的支持
工程化的表现:
一切重复的工作都应该被工程化
1.创建项目:使用脚手架工具自动完成基础解构的搭建,
2.编码:自动化的做一些代码校验,格式化代码,编译构建和打包(确保开发人员统一的代码风格)
3.预览/测试:热更新,mook数据,
4.代码提交:使用git hooks在代码提交之前做项目整体的检测
5.部署:CI/CD自动部署,通过持续集成或持续部署的方式自动将代码部署到服务器
工程化并不是某个工具
工程化的核心是对项目一个整体的规划,工具是帮助我们实现工程化的一种手段
规划图:
成熟的工程化集成: