Vite打包优化

news2024/10/6 20:20:12

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

  • 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()]

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/543377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是合伙企业?普通合伙和有限合伙区别?

1.什么是合伙企业? 合伙企业是指由各合伙人订立合伙协议,共同出资,共同经营,共享收益,共担风险,并对企业债务承担无限连带责任的营利性组织。合伙企业一般无法人资格,不缴纳企业所得税,缴纳个…

自制0-36V便携电源:typec+pd诱骗

1、芯片选择: 1.1、LDR6321 选用LDR6321,最高诱骗输出20V,手册如下: https://atta.szlcsc.com/upload/public/pdf/source/20211112/6C547DE14631DD2A11892D79A9F4FADD.pdf 该芯片立创商城有售,淘宝也有售&#xff0c…

pix2pixHD

High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs pix2pixHD提出了一个模型用于从label map中生成真实的photo。 pix2pixHD都是使用的CGAN的思想,不同的是本文可以产生更加高清的图像,pix2pix生成的是256x256&#xf…

js内存泄露

文章目录 定义引起内存泄漏的操作:Chrome 控制台查看内存情况无痕模式PerformanceMemotry1. 先用 Allocation instrumentation on timeline 确认问题2. 再用 Head snapshot 定位代码 闭包函数使用不当 js内存泄露如何检测?场景有哪些?如何定位…

2023年财务管理案例研究与应用(圆桌)论坛在京举办

2023年5月13日,由中国企业财务管理协会、机械工业信息研究院与用友网络科技股份有限公司共同策划的 2023 财务管理案例研究与应用 (圆桌) 论坛在用友产业园成功举办。 国务院国资委财务监管与运行评价局局长李冰,中国企业财务管理协会副会长(…

macOS 安装NVM

一、卸载已经安装的node 我用命令brew uninstall node16 发现报错 后面我用where node 发现当时安装node并没有用brew工具安装 于是运用删除文件的方式卸载node sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}二、brew 安装nu…

MySQL—日志

文章目录 一、错误日志二、二进制日志2.1 介绍2.2 格式2.3 查看2.4 删除 三、查询日志四、慢查询日志 一、错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据…

铿锵玫瑰 别样绽放

-----衢州首支飞盘女队成立 5月15日在一个火热既温馨的下午,在衢州市衢江区社会组织服务中心“馨满益足”女工服务站里。首批优秀女性代表集聚一堂举行了衢州铿锵玫瑰飞盘女队沙龙。至此衢州首支飞盘女队正式落地,这支队伍将在今后参加各类女子飞盘比赛…

DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小

原文:DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小,点击链接查看更多技术内容。 动态共享包(HSP)开发是DevEco Studio 3.1 Release版本带来的新特性,基于新的编译方式&#xff…

gpt接口新增配额控制

工作内容,不对外开放 场景: 用户使用gpt时会消耗token,我们要求能够在某个地方配置gpt限额,gpt限额有全局限额也有个人配置的限额, 先配置一个默认的全局的限额(所有用户gpt3.5每个月不能超过1000,每天不能超过500,每个小时不能超过100), 用户可以配置用户的限额(该…

RoyalScope-总线工作状况和信号质量“体检”

海量存储、洞悉细微 无间断连续采样、波形和报文记录 内置100MHz示波器,采样率高达100MS/s,精确查看、分析和统计信号波形细节。 无间断连续采样总线上信号,全部无遗漏的解析成报文(包括数据帧、遥控帧、过载帧、错误帧、帧间隔和错误报文)和…

matlab绘制任意位置方位的圆锥

1.前记: 使用surf函数实现指定顶点,圆锥半径,高度的圆锥。 2.代码 为了实现任意位置和方位,使用机器人系统工具箱函数getTransform计算机器人末端正运动的齐次矩阵结果并将其位置和方位赋予要画的圆锥体上。 运行函数&#xff1…

springboot+java博物馆文物管理系统

用户前台进入系统可以进行首页、文物信息、论坛交流、文物资讯、留言反馈、我的、跳转到后台等springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最…

bug:nodepad++安装hex Editor插件闪退

bug:nodepad安装hex Editor插件闪退 解决办法: 查看是否是自己的hex Editor版本下载错了(x86对应x86、x64对应x64)如果nodepad版本是v7.6.4,则需要安装0.9.9的hex Editor 0.9.9 winx64版本:https://github.…

一年换 3 份工作,在家躺平半年了!

见字如面,我是军哥! 还记得,我之前写的这篇《三年换 3 份工作,再也找不到工作了!》文章?上周有一位读者在这篇文章下留言,说自己去年一年换了 3 份工作,目前在家躺了半年了&#xff…

ML | 4.朴素贝叶斯

基于概率论的分类方法:朴素贝叶斯 文章目录 基于概率论的分类方法:朴素贝叶斯概述条件概率贝叶斯公式 朴素贝叶斯分类器2个假设Example:文本分类欢迎关注公众号【三戒纪元】 概述 朴素贝叶斯可以处理多类别问题,在数据较少的情况下仍然有效&…

加速度传感器的量程估算

在测震动和噪声的场合,现有的加速度传感器,需要客户提供加速度值的大致区间。这个值该怎么计算呢?它几乎完全与被测信号的频率有关。因为所有的信号,按照频域展开的视角,都会简化为一个个正弦波。对于正弦波有这样的属…

亚马逊云科技新增功能:在一个位置设置您的亚马逊云科技通知

5月5日,亚马逊云科技发布AWS User Notifications,这是在亚马逊云科技管理控制台中设置和查看多个亚马逊云科技账户、区域和服务的亚马逊云科技通知的单一位置。 可以以一致、人性化的格式集中设置和查看来自100多项亚马逊云科技服务的通知,…

什么是语音识别的智能客服?

前言 随着人工智能技术的不断发展,语音识别技术越来越成熟,语音技术的应用也越来越广泛。智能客服是其中一个应用领域,它通过语音识别技术,将用户的语音输入转换为文本,并通过自然语言处理技术,解决用户的…

数据库的恢复技术

更好的阅读体验 存储器结构 分类 1、易失性存储器:内存、高速缓冲存储器 2、非易失性存储器:磁盘、磁带 3、稳定存储器:理想的存储器,其中信息永不丢失 稳定存储器的实现 要实现稳定存储器,就要在多个非易失性存储…