1、vue打包优化

**前言!!!**
项目是20年启动的项目 持续更新至今  vue版本2+  ,vue-cli 4.4,如遇配置相关等报错 查阅官方文档!!

1、添加指令查看打包分析结果

paakage.json 文件
打包指令添加 --report

在这里插入图片描述

2、查看分析结果
执行指令后会在输出文件夹(默认dist)中多一个report.html 打开
在这里插入图片描述

打开后

在这里插入图片描述

面积大的就是打包体积越大 针对性的优化

执行build 打包出来25M左右
在这里插入图片描述

以下正题

看结果中 echarts pdfH5、 element-ui等相对较大

3、剥离三方库 cdn方式 加载

configureWebpack:{
	externals:{
            axios:'axios',
            'vue-router': 'VueRouter',
            'vue': 'Vue',
            'Vuex': 'Vuex',
            'element-ui': 'ELEMENT',
            'echarts': 'ECHARTS',
            'pdfh5': 'PDFH5',
       },
}

在index.html中添加对应cnd !!!

后再次执行打包指令 包体积小了10M左右 (编号方便区分每次的结果 dist2)

在这里插入图片描述

4、 productionSourceMap: false, // 打包是否需要map文件

5、gzip 代码压缩

npm i  compression-webpack-plugin

const CompressionWebpackPlugin = require("compression-webpack-plugin");


// --配置
chainWebpack:config=>{
			//  生产打包压缩
            if (process.env.NODE_ENV === "production") { 
                config.plugin("compressionPlugin").use(
                    new CompressionWebpackPlugin({
                      test: /.(js|css|less|scss)$/, // 匹配文件名
                      threshold: 10240, // 对超过10k的数据压缩
                      minRatio: 0.8,
                      deleteOriginalAssets: true // 是否删除源文件
                    })
                  );
            }
}

再次执行build 后

在这里插入图片描述

6、由于图片已经压缩过就不再展示 压缩地址 https://tinypng.com/
到此结束

由原来25M到 优化到3M左右 在可接受范围内 。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值