记录一次简单的首屏优化

39 阅读1分钟

背景

我司在在某个环境下部署的网站打开特别慢,反馈让优化一下。

优化之前

通过网络查看了一下,发现主要问题在于有一个js文件太大了,体积有9M,部分人在网络不好的情况下打开需要长达20s的加载时间

企业微信截图_713ccda7-008a-4533-9153-1acbecd1897a.png

优化思路

  • 优化打包体积
    • 分包,按需加载
    • 压缩打包后的体积 当时考虑了一下当前项目的复杂度也不高,所以决定先直接压缩一下打包后的js体积,看看效果怎么样

压缩打包体积

因为当前浏览器对gzip的压缩支持度比较好,而且压缩效果也不错,所以果断选择gzip压缩。

开启压缩的话,可以用nginx开启,但是这样每次请求资源的话,都要压缩,需要时间和占用服务器cpu资源, 不如前端打包的时候直接压缩完毕,省时省力。

webpack可以借助compression-webpack-plugin 插件在打包时生成 gzip

安装完依赖之后,使用很简单,直接一行命令就行

  plugins: [new CompressionPlugin()],
  

压缩之后

企业微信截图_5fd182e8-86a1-497b-8ffe-100afd26f3f2.png

可以看出体积优化了将近99%,效果明显