vue打包文件vendor.js或app.js过大,如何优化减小体积?

我们在使用webpack的时候,发布到生产环境时会进行打包,发现自己打包的vendor.js有1M多。在调试时使用slow 3G网络加载超过30s,不过这只是个测试,现在基本不用3G网络了;但是打包文件过大,还是会导致加载时间变慢,用户成功进入首屏的时间边长,影响体验。所以尝试了以下几种优化方案。

优化方案

1.设置prodctionSourceMap

在build/webpack.base.conf.js下找到属性prodctionSourceMap,默认为true,会生成一些加密的map文件,体积较大,将其设置为false。

听说生产环境下prodctionSourceMap为true的时候能看到源码。点击详情
在这里插入图片描述
2.配置externals

需要在index.html的中引入cdn;这里要注意提供的 cdn 是否会出现不稳定的情况。
在这里插入图片描述
在build/webpack.base.conf.js中配置externals,左边为要导入的依赖的名字,右边为别名;
在这里插入图片描述
在使用的文件下,还是需要使用import导入
在这里插入图片描述
3.路由懒加载

未使用懒加载:

import Type from '@/views/guide/type';

export default new Router({
  routes: [{
      path: '/',
      redirect: {
        name: 'Type'
      }
    }]
})

使用懒加载:

const Type = () => import('@/views/guide/type');

export default new Router({
  routes: [{
      path: '/',
      redirect: {
        name: 'Type'
      }
    }]
})

注意:虽然懒加载减小了打包文件的大小,减少首页加载用时。但是可能会导致页面跳转不流畅,会造成卡顿。

项目打包对比

优化前:
优化前
优化后:
优化后

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值