浏览器从响应用户输入网址地址,到首屏内容渲染完成时间,整个网页不一定要完全渲染完成,但需要展示当前视窗内容
加载慢的原因

  1. 网络延时
  2. 资源文件体积过大
  3. 资源加载重复发送请求
  4. 加载脚本时,渲染内容阻塞

解决

  1. 减少入口文件体积
  2. 静态资源本地缓存
  3. UI框架按需加载
  4. 图片资源压缩
  5. 组件重复打包
  6. 开启GZip压缩
  7. 使用SSR

减少入口文件体积

路由懒加载,将不同路由对应组件分割成不同代码块,待路由被请求时单独打包路由,使得入口文件变小
以函数形式动态加载路由,可以把各自的路由文件分别打包,只在解析给定路由时,才会加载路由组件

静态资源本地缓存

HTTP缓存和localStorage

按需加载

对UI库按需引用

图片资源压缩

对icon,使用在线字体图标

组件重复打包

若A.js是一个常用库,多个路由使用它会造成重复下载

在webpack的config中,修改CommonChunkPlugint的配置

minChunks为3表示会把使用3次及以上的包抽离,放进公共依赖文件

使用SSR

服务端渲染,Server Side,组件或页面通过服务器生成html字符串,发送到浏览器