vue vite 打包开启 gzip 部署 nginx 支持 gzip

vite 打包开启 gzip

安装插件

npm i vite-plugin-compression --save-dev

vite.config.js 配置

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
// gzip压缩
import viteCompression from "vite-plugin-compression";
const path = require("path");

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    viteCompression(),
  ],
  define: {
    "process.env": {},
  },
  resolve: {
    // 配置路径别名
    alias: {
      "@": path.resolve(__dirname, "./src"),
    },
  },
});

vue.config.js

const compressionWebpackPlugin = require('compression-webpack-plugin')
//...
    plugins: [new compressionWebpackPlugin({
      filename: '[path].gz[query]', // 压缩后的文件名
      algorithm: 'gzip', // 压缩格式:gzip、brotliCompress,
      test: /\.(js|css|svg)$/,
      threshold: 10240,// 只处理比这个值大的资源,按字节算
      minRatio: 0.8, // 只有压缩率比这个值小的文件才会被处理,压缩率=压缩大小/原始大小,如果压缩后和原始文件大小没有太大区别,就不用压缩
      deleteOriginalAssets: false // 是否删除原文件,最好不删除,服务器会自动优先返回同名的.gzip资源,如果找不到还可以拿原始文件
    })],

 

nginx 支持 gzip

开启模块之前可以查看是否有模块:--with-http_gunzip_module --with-http_gzip_static_module

nginx -V

如果没有需要安装,官网

配置作用域 在 httpserverlocation 都可以

#开启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,建议开启
gzip_vary on;

 

posted @ 2022-05-18 23:34  飞叶飞花  阅读(3582)  评论(0)    收藏  举报