vite如何生成gzip,并在服务器上如何设置开启

1. 安装插件
复制代码
npm install vite-plugin-compression -D
2. 在 vite.config.ts 中配置

TypeScript

复制代码
import { defineConfig } from 'vite'
import compression from 'vite-plugin-compression'

export default defineConfig({
  plugins: [
    compression({
      algorithm: 'gzip',
      ext: '.gz',
      threshold: 1024, // 小于 1KB 的文件不压缩
    })
  ]
})

一、Nginx(Linux 最常见)

复制代码
# 1. 确认已开启 gzip 静态模块(绝大多数发行版默认已编译)
nginx -V 2>&1 | grep -o with-http_gzip_static_module
# 如果输出中有 with-http_gzip_static_module 就说明支持

# 2. nginx.conf 或站点配置
server {
    listen 80;
    server_name  your-domain.com;
    root /var/www/dist;   # 指向 vite build 出来的 dist 目录

    # 优先使用现成的 .gz
    gzip_static  on;      # 关键!
    # 动态压缩作为兜底(可关掉,因为我们已经有 .gz)
    gzip        off;

    # 其余静态资源
    location / {
        try_files $uri $uri/ /index.html;
    }

    # 静态文件缓存期
    location ~* \.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }
}

# 3. 重载配置
sudo nginx -t && sudo systemctl reload nginx

浏览器访问后,在 DevTools → Network → 某 xxx.js → Response Headers 里能看到

Content-Encoding: gzip

说明 .gz 文件被直接命中。

相关推荐
沫璃染墨2 分钟前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程
YYRAN_ZZU4 分钟前
GMSL开发加解串配置介绍
linux·嵌入式硬件
墨家前任巨子13 分钟前
定时关机脚本
运维
云计算练习生13 分钟前
什么是上下文切换?进程切换时 CPU 到底在保存什么
linux·服务器·操作系统·进程切换
用户05101225729614 分钟前
RGA(二)——RK3588 的核拓扑与能力差异
linux·嵌入式
ESDWAN15 分钟前
企业组网后网络频繁掉线,常见故障排查指南
运维·网络·架构
用户05101225729616 分钟前
RGA(一)——基础知识
linux·嵌入式
qetfw20 分钟前
Debian 综合服务实训:Apache2、Samba、LDAP、vsftpd 与 OpenVPN
linux·服务器·debian
用户05101225729621 分钟前
RGA(三)——实宽高、虚宽高与对齐约束
linux·嵌入式
fastjson_30 分钟前
帆软看板 - 问题收集
linux·前端·javascript