SPA(单页面应用)
什么是spa应用:
整体只有一个html作为框架,通过window.history 或 location.hash动态改变路由,js监控到路由变化后动态清除页面内容再添加进新的内容来显示。(路由由前端来管理了,后端只需要提供数据接口即可)
优点:
- 页面切换快:每次切换跳转时,不需要请求html,这样就节约了很多HTTP发送时延。
- 页面无刷新:对用户的响应非常及时,因此提升了用户体验.
- 前后端分离
- API共享:同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。
- 组件化开发:前端开发不再以页面为单位,更多地采用组件化的思想。
缺点:
- 首屏时间慢:首屏时需要请求一次html,同时还要发送一次js请求(请求渲染当前页面的js),两次请求回来了,首屏才会展示出来。相对于多页面应用,首屏时间慢。
- SEO效果差:因为搜索引擎只认识html里的内容,不认识js渲染生成的内容,搜索引擎不识别,也就不会给一个好排名,就会导致排名差。
解决SEO
SSR
Prerender 预渲染优化
用户请求前的服务器渲染即为「预渲染」。:渲染路由所需的静态页面,返回静态页面,适合静态文件服务方案。
用户请求后的服务器渲染即为「服务端渲染」。:服务端(nodejs服务器)对模板渲染后返回给客户端。
Vue首屏优化
路由懒加载,参考项目。
骨架屏。
loading效果。
gzip压缩
参考:
https://www.jianshu.com/p/a02eb15d2d70