webpack和vite: Gzip打包压缩
创始人
2024-06-02 17:48:15
0

前提:最近在研究打包优化,发现webpack和vite写法还是略显不同,记录一下

一、Gzip原理

Gzip压缩是一种http请求优化方式,通过压缩文件体积来提高请求加载速度。需要前端打包生成.gz后缀的文件,同时nginx配置文件启动gzip

二、webpack打包(基于vue2基础)

1. 安装依赖

npm i -D compression-webpack-plugin

2. 在vue.config.js进行配置

module.exports = {const CompressionWebpackPlugin = require('compression-webpack-plugin')if (process.env.NODE_ENV === 'production') {config.plugin('CompressionPlugin').use(new CompressionWebpackPlugin({test: /\.(js|css)$/,threshold: 10240, // 超过10kb的文件就压缩deleteOriginalAssets: true, // 不删除源文件minRatio: 0.8}))}
}

3. 遇到的问题

    安装依赖的时候,一直提示我babel必须升级到7.11.X以上,但是我用命令升级了还是不行。后面我用cnpm按照就可以了

三、vite打包

1. 安装依赖

pnpm add -D vite-plugin-compression

2. 在vite.config.js里面配置

import viteCompression from "vite-plugin-compression";
export default defineConfig({plugins: [// ...viteCompression()]
})

3. 打包后你会发现dist里面多了.gz的文件,证明成功了

 四、nginx配置

1. 找到服务器nginx目录,找到/conf下面的nginx.conf配置

// 找到对应目录地址
cd /usr/local/nginx/conf
// 编辑配置
vi nginx.conf

2. 修改配置

gzip on;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml application/javascript;
gzip_vary on;

gzip_buffers:设置压缩文件所使用缓存空间的大小(number,指定Nginx服务器需要向系统申请缓存空间的个数;size,指定每个缓存空间的大小。) 

gzip_types:压缩类型,js是application/javascript,css是text/css

gzip_comp_level:设置压缩程度,包含1-9级。级别1表示压缩程序最低,压缩效率最高;9表示压缩程度最高,压缩效率最低,最费时间。默认级别1。(压缩级别并不是越高越好,需要根据自己的情况来设定压缩级别。)

gzip_vary:设置为开启,服务器返回数据时会在头部带上"Vary:Accept-Encoding"的标识。客户端便可以知道获取到的数据是否已经被压缩,默认为关闭

3. 重启nginx

// 在sbin目录下面启动
./nginx -s reload

4. 结果展示:压缩前1.3M,时间15s,压缩后400+kb,时间毫秒级

修改前:

 修改后:

 

 总结:Gzip确实会对文件进行压缩,浏览器访问获取文件的速度真的提升。其实在nginx里面进行配置就可以了。

相关内容

热门资讯

安卓系统开发知识,架构解析与实... 你有没有想过,为什么你的手机里那么多好玩的应用?没错,这就是安卓系统开发的魅力所在!今天,就让我带你...
TIGGO系统可以刷安卓系统吗... 你有没有想过,你的TIGGO系统竟然也能刷上安卓系统?听起来是不是有点不可思议?别急,今天就来带你一...
安卓系统游戏名字推荐,畅享无尽... 手机里的游戏是不是已经玩腻了?别急,今天就来给你推荐一波安卓系统上的游戏名字,保证让你眼前一亮,玩得...
锤子系统和安卓系统区别,深度定... 亲爱的读者们,你是否曾好奇过,为什么有些手机系统看起来和安卓差不多,却有着自己独特的魅力?今天,就让...
安卓系统导到苹果系统吗,安卓系... 你终于换上了那款心仪已久的苹果手机啦!是不是在兴奋之余,又有点小烦恼呢?担心安卓系统里的宝贝数据怎么...
安卓ndk调用系统库,系统库调... 亲爱的读者们,你是否曾在安卓应用开发中,想要让你的应用拥有更强大的功能,或者更快的运行速度?如果你是...
比小米系统好的安卓系统,探索更... 你有没有想过,手机里的系统就像是个贴心的管家,有时候它得懂你的心思,有时候还得给你带来惊喜。咱们今天...
ios机玩安卓系统,体验双重魅... 你有没有想过,你的安卓手机能不能变成一个酷炫的iOS小精灵呢?想象你那熟悉的安卓界面突然变成了苹果的...
vivo安卓系统pc版,畅享移... 哇哦,你有没有想过,你的vivo手机里的安卓系统,竟然还能在电脑上大显身手?没错,vivo安卓系统P...
工控主板安装安卓系统,智能化升... 亲爱的读者们,你是否曾想过,那些在工厂里默默无闻的工控主机,竟然也能穿上安卓系统的“新衣”?没错,今...
骐达安卓系统更换,骐达安卓系统... 你有没有想过,你的骐达车里的安卓系统是不是该换换新装了呢?想象当你驾驶着你的爱车,车内的系统却像是个...
柬埔寨安卓系统有哪些,柬埔寨安... 你知道吗?柬埔寨这个东南亚的小国家,最近在智能手机市场上可是热闹非凡呢!咱们今天就一起来聊聊,柬埔寨...
安卓系统加密相册在哪,安卓系统... 亲爱的手机控们,你们有没有想过,那些藏在手机里的私密照片,要是被别人无意间翻到,那可就尴尬大了!别担...
安卓系统禁止app升级,安卓系... 亲爱的手机控们,你们有没有遇到过这种情况:手机里的某个APP突然冒出来一个升级提示,让你不得不停下手...
带安卓系统街机摇杆,畅享多平台... 你有没有想过,在手机上玩街机游戏,还能有那种握着摇杆的感觉?没错,就是那种小时候在游戏厅里,热血沸腾...
安卓系统显示红色叹号,原因及应... 亲爱的手机用户们,你们有没有遇到过这样的情况:手机屏幕上突然出现了一个红色叹号,旁边还躺着一个可怜的...
linux系统怎么安装安卓,L... 亲爱的技术爱好者们,你是否曾想过,在你的安卓手机上安装一个Linux系统,体验一下双重操作系统的魅力...
安卓手机钱包系统异常,安卓手机... 亲爱的手机钱包用户们,你们有没有遇到过这种情况呢?明明微信钱包里装满了金币,却怎么也支付不了账单?别...
linux系统应该和安卓系统吗... 亲爱的读者们,你是否曾好奇过,Linux系统和安卓系统,这两位操作系统界的“双胞胎”,究竟有何不同?...
安卓防沉迷系统app,守护青少... 你是不是也和我一样,手机不离手,一玩就停不下来?别担心,今天我要给你介绍一个超级好用的安卓防沉迷系统...