Vite打包优化

本文详细介绍了如何对Vite项目进行打包优化,包括针对Element-plus、Echarts、Vue、Lodash、Moment和xlsx的按需引入,文件目录结构优化,以及压缩策略。通过这些步骤,成功将主JS包从2.31MB减小到236.58KB,显著提升了项目性能。
摘要由CSDN通过智能技术生成

背景:

业务中发现我们的项目框架index主chunk有2mb大小,这大大影响了整个项目的性能,而且依赖引入比较冗余,所以再次进行打包优化。

分析:

首先我们安装插件

rollup-plugin-visualizer

运行run build插件对于我们的打包文件生成chunk关系图如下:
在这里插入图片描述
部分依赖文件如下:
在这里插入图片描述
dist 文件16.7mb
明显问题:部分Chunk包过大,chunk包没有分离归类,可以看到比较大的文件是 element相关,vue,echarts,moment,lodash,xlxs插件
在这里插入图片描述
接下来我们进行专门对几个较大依赖进行优化:

Element-plus:

在这里插入图片描述
可以看到我们这里的element包已经超过了1mb,非常大,但是其实很多的element的组建我们都没有使用到,所以我们需要让其按需引入使用到的组建及依赖,而不是像我们之前那样整个都导入到项目中。我们可以使用unplugin插件来实现按需引入的效果
解决办法:
使用element按需引入
删除main.ts中对elementPlus的引入
在这里插入图片描述
在vite中配置:

安装插件

unplugin-vue-components ,unplugin-auto-import

在vite.config内配置:

// 引入
import {
    ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// 配置
plugins: [
   vue(),
   AutoImport({
   
       resolvers: [
           ElementPlusResolver(),
       ],
   }),
   Components({
   
       resolvers: [
           ElementPlusResolver()
       ]
   }),

再次打包,查看element-plus
在这里插入图片描述
从原来的1.32mb缩小到了232.55kb(缩小83%)

如果使用到了element-icon则同理(由于element-plus将element-icon单独独立出来一个依赖,所以如果我们使用了icon还需同样配置一下)
下载插件unplugin-icons
Vite配置:

import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'

AutoImport({
   
   resolvers: [
       ElementPlusResolver(),
       // 自动导入图标组件
       IconsResolver({
   
           prefix: 'Icon',
       }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Freedom风间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值