单页面是什么?
单页面指的是一个html通过路由进行多个组件的切换和加载,实现的功能构造,它在一开始就加载所有的html,css,js,用户使用时无需重复加载,切换组件更为流畅;
单页面首次加载的显著问题
但是由于它的加载机制导致它在首次加载时耗时相对过长,甚至会出现白屏现象。因此使用路由懒加载,仅在切换相应路由的时候加载相应组件内容(js、模板、css、数据),有效减少首屏加载时长;
单页面加载优势与路由懒加载是否冲突?
不会。首先明确单页面的优势不在于刚开始就加载所有的html,css与js资源,而是“无需重复加载”;
搭配上路由懒加载后能够实现某种优化,此时的优点是“当用户访问到一个已经访问过的组件时,组件不会重复加载内容,而是将之前加载好的内容拿出来给用户,但是多页面加载并不具备此功能,会重新加载;
这个时候的搭配了路由懒加载的单页面加载就同时具备了“无需重复加载”和“首次加载时间也不长的两大优势”;
单页面优势
1、用户体验良好
2、切换组件(页面)流畅
3、减轻向服务端重复请求的压力
4、便于设置切换动画,切换动画可以做的更为炫酷
5、前后端分离,前后端分工明确
单页面劣势
1、不利于SEO搜索(网络爬虫,会导致页面不易被用户搜索到)
2、浏览器导航不可用(生产环境下)
3、初次加载耗时多,甚至会出现白屏现象(因此需搭配路由懒加载)