vue项目首屏加载慢解决方案

本文记录了一位工程师针对项目首屏加载慢的问题进行的优化步骤,包括开启Nginx gzip压缩,禁用生产环境的sourcemap,以及将echarts通过CDN引入以减小包体积。通过这些措施,成功减少了约2M的打包体积,显著提升了页面加载速度。
摘要由CSDN通过智能技术生成

项目场景:

近期项目打包上线后,首屏加载速度太慢.记录一下优化的步骤;


解决方案:

一.开启Nginx压缩

参考知乎文章 vue-cli3项目开启gzip压缩 - 知乎

下图已经是 开启了 Nginx 进行 gzip压缩后的效果;依旧很慢.

二.屏蔽生产环境的source map

vue.config.js中设置:

 productionSourceMap: false,

三.echarts改为 CDN 引入 : 

从压缩体积图可以看出 echarts 占用的体积也很多; 所以先对echarts进行优化: 

1. 在public/index.html中 引入 :

  <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.1/echarts.common.js"></script>

2. 在 vue.config.js 中 configureWebpack 配置 externals 

外部扩展(Externals) | webpack 中文文档

externals  : 防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖(external dependencies)

 configureWebpack : 有2种写法,一种是函数式,一种是对象的形式(参考官网)

我司项目中使用的是函数式的写法,且vue/cli是使用的3.x版本,而3.x版本中没有externals 的配置项,所以需要使用新增属性的形式添加;代码如下 

 configureWebpack: config => {
    config['externals'] = {
      echarts: 'echarts'
    }
  },

3. 在vue组件中直接使用 echarts 即可. 

此时再来看 打包的体积 :        


对比之前小了大概2M多.再看上图中还有很多体积比较大的组件 同样可以采用上述方法改cdn加载.


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值