Vite打包优化

关于指标,这里简单介绍下常见的优化指标

  • FCP(First Contentful Paint):白屏时间(第一个文本绘制时间)
  • Speed Index:首屏时间
  • TTI(Time To Interactive): 第一次可交互的时
  • lighthouse score:Chrome浏览器审查工具性能评分

一.Bundle 分析

因为使用的是 vite,借助插件 rollup-plugin-visualizer,来进行 bundle 分析

1.安装

pnpm i rollup-plugin-visualizer -D

2.引入(在vite.config.ts文件引入)

import { visualizer } from 'rollup-plugin-visualizer'
const plugins = [vue(), visualizer()]

打包之后会在项目根目录生成 stats.html 文件,打开

可以分析出那块文件较大,影响了速度.

 二.开始优化

1.GZIP 配置

这里顺便介绍下 vite 的 GZIP 配置

安装 vite-plugin-compression

npm i vite-plugin-compression -D

修改 vite.config.js 配置 

import viteCompression from 'vite-plugin-compression'
 
 plugins: [vue(), viteCompression()]

 打包后就会生成 gzip 文件了,但是服务端 nginx 还需要配置一下才能生效

http {
    gzip_static on;
    gzip_proxied any;
}

 2.echarts 单独拆分

修改 vite.config.js 配置

build: {
    rollupOptions: {
        output: {
            manualChunks: {
                echarts: ['echarts']
            }
        }
    }
}

打包后 Index.js 体积变化(未压缩前)

Before: 4.49MB

After: 1.34MB

3.图片压缩

安装 vite-plugin-imagemin

npm i vite-plugin-imagemin -D

修改 vite.config.js 配置

import viteImagemin from "vite-plugin-imagemin"
plugins: [vue(), viteImagemin()]

打包后会生成压缩的图片,但是每次打包都会重新压缩一遍,比较浪费时间,如果不介意的话采用此方案也很简单.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值