开局被气炸
今天打开项目准备调试个新功能,一启动就给我卡在“9.1玩命加载中”那个画面。盯着转圈的小菊花抽完半根烟还在转,气得我差点把键盘砸了。随手掐着秒表一测——好家伙!整整20秒!这时间都够我泡碗老坛酸菜了。
手动拆包实战
翻着控制台红通通的报错堆,发现80%时间都在等个3M的巨无霸组件包。直接开chrome devtool把加载瀑布流拖出来看:
- 有4个js在玩接龙加载
- 2张封面图比我家猫还胖
- 有个第三方字体加载了8秒
暴力压缩三连
抄起脚手架开始拆包:
- 把那个3M的组件包剁成3个小肉丁拆开加载
- 掏出
image-webpack-loader
把图片压到原来1/3大小 - 第三方字体直接扔cdn还开了预加载
见证奇迹时刻
颤巍巍点下刷新键,加载条唰地冲过进度,菊花刚冒头就消失了!秒表显示8秒整的时候整个人都懵了——这比我预估的还狠!反复退出重进了五次,次次稳定在7~9秒之间。原先20秒喝西北风的功夫,现在都够刷两条短视频了!
血泪经验包
瘫在椅子上复盘时突然笑出声:
- 大文件不拆包=给自己造棺材
- 图片不压缩=让用户流量破产
- 第三方资源硬加载=跟用户体验有仇