对vite + vue3 项目打包的时候进行 gzip 压缩

  1. 安装 vite-plugin-compression 插件
npm install vite-plugin-compression
  1. vite.config.ts/js 中导入vite-plugin-compression插件
import viteCompression from 'vite-plugin-compression'
  1. 在 vite.config.ts/js 中的 plugins 中使用vite-plugin-compression插件即可
export default defineConfig({
	plugins: [
		viteCompression({
	      filter: /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i, // 需要压缩的文件
	      threshold: 1024, // 文件容量大于这个值进行压缩
	      algorithm: 'gzip', // 压缩方式
	      ext: 'gz', // 后缀名
	      deleteOriginFile: true, // 压缩后是否删除压缩源文件
    	})
	]
})
  1. 保存改变后进行打包, 文件体积明显减少
    在这里插入图片描述

Nginx配置gzip压缩

在nginx.conf中的http里面加入一下配置,开启gzip压缩

    #开启gzip功能
    gzip on; 
    #开启gzip静态压缩功能
    gzip_static on; 
    #gzip缓存大小
    gzip_buffers 4 16k;
    #gzip http版本
    gzip_http_version 1.1;
    #gzip 压缩级别 1-10 
    gzip_comp_level 5;
    #gzip 压缩类型
    gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    # 是否在http header中添加Vary: Accept-Encoding,**一定要开启,不开启读取不到.gz结尾的压缩文件**
    gzip_vary on;

一定要设置gzip_vary on;否则打包后的html引入的文件里面是以.js/.css结尾,而压缩文件又是以.js.gz/.css.gz结尾,会导致引入报错!!!

GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐