前言
小编最近加入了前端工程化的研究工作,前端工程化是软件工程不断迭代的必然趋势,用工程化的思想去管理前端。
正文
一 、为什么会有前端工程化?
目前前端开发存在的问题
1. 同时存在多端,造成开发效率不高
2. 项目没有模块化,组件化的概念,代码复用率低
3. 部署困难,没有自动生成版本号,每次都要手动修改js的版本号
4. 面条式的代码,开发任务重,没有做很好的规划
改进目标
1. 解决多端统一的问题,一处修改,多端同时生效
2. 模块化开发,使代码逻辑更加清晰,更好维护
3. 组件化开发,增强扩展性
4. 按需打包,以及自动构建
5. 自动更新js版本号,实现线上自动更新缓存资源
6. 紧跟发展趋势,使用ES6进行开发
前端工程化应运而出
前端工程化是一种思想,用工程化的思想解决前端问题,终极目标是:工程化,模块化,组件化。
二 、为什么要进行前后端分离?
什么是前端?
前端负责浏览器端用户交互界面和逻辑等,显示数据,可以简单的理解为:html+js+css+ajax
什么是后端?
后端负责后端负责数据的处理和存储等,提供数据。
为什么要进行前后端分离?
1. 项目一开始制作前端页面的时候,我不再需要后台给我配置服务器环境了
2. 项目的前端文件可以在需要调用后台接口的时候丢进服务器就好了,完全不需要事先放进去
3. 增加一个项目页面需要配置路由的时候不再需要让后台同事给我加了,自己前端搞定
4. 页面跳转比之前更加流畅了,局部渲染局部加载非常快速
5. 页面模板可以重复使用了,前端组件化开发提高了开发效率
……
前端采用了单页应用,当页面加载完后,每打开一个新的链接时,不再需要等网络返回给我结果;我也能快速的回到上一个页面,像一个 APP 一样的体现这样的应用。整个过程里,我们只是不断地从后台去获取数据,不需要重复地请求页面——因为这些页面的模板已经存在本地了,我们所缺少的只是实时的数据。
前端负责显示,后端负责提供数据,前后端分离的目的是为了解耦。
三、前后端如何实现分离?
通过API接口,后端提供API,前端消费API。
总结
前端的工作刚刚开始,这篇博客借鉴于各位大神的著作,其中也有些自己的理解,希望路过的各位可以多多提意见~~