在开发中,页面 js 经常会遇到需要 当前登录用户信息(菜单权限,用户基本信息,配置信息) 的地方,一般情况我们可能对这些信息获取方式不是太在意,但是现在的前端通过webpack打包,即使做了代码分割,js文件,css文件还是很大。
在首次加载的情况下面,存在一定的优化空间。下面主要介绍一些信息获取的方式。 接口使用的是模拟数据,session获取接口设置成了1秒延时,下面的数据都是首次加载的数据,不考虑304的情况。
1.后端程序设置,直接js代码,全局变量写入方式
浏览器访问app.do,后端程序响应,获取用户信息 InitData,获取返回的app.html文本,将用户信息 写入到html对应位置,返回给浏览器
【问题】
a. 获取用户信息 InitData + app.html文本 —→ 返回给浏览器,浏览器再加载其他静态资源 —-> html加载过程
b. app.do返回的html,由于每个用户的基本信息都不一样,没办法使用浏览器304缓存机制
2.页面通过
下面是页面html代码
__page_begin= +newDate;
__clog(‘html begin load’);
document.addEventListener(‘DOMContentLoaded’, function () {__clog(‘html DOMContentLoaded’);}, false);function__clog(str) {str= ‘–‘ +str+ ‘ ‘;console.log(str.substr(0,20),newDate-__page_begin);};