浏览器从响应用户输入网址地址,到首屏内容渲染完成时间,整个网页不一定要完全渲染完成,但需要展示当前视窗内容
加载慢的原因
- 网络延时
- 资源文件体积过大
- 资源加载重复发送请求
- 加载脚本时,渲染内容阻塞
解决
- 减少入口文件体积
- 静态资源本地缓存
- UI框架按需加载
- 图片资源压缩
- 组件重复打包
- 开启GZip压缩
- 使用SSR
减少入口文件体积
路由懒加载,将不同路由对应组件分割成不同代码块,待路由被请求时单独打包路由,使得入口文件变小
以函数形式动态加载路由,可以把各自的路由文件分别打包,只在解析给定路由时,才会加载路由组件
静态资源本地缓存
HTTP缓存和localStorage
按需加载
对UI库按需引用
图片资源压缩
对icon,使用在线字体图标
组件重复打包
若A.js是一个常用库,多个路由使用它会造成重复下载
在webpack的config中,修改CommonChunkPlugint的配置
minChunks为3表示会把使用3次及以上的包抽离,放进公共依赖文件
使用SSR
服务端渲染,Server Side,组件或页面通过服务器生成html字符串,发送到浏览器