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 文件被直接命中。

相关推荐
阿拉斯攀登19 分钟前
嵌入式 Linux 驱动概述:分类、内核模块、开发环境
linux·嵌入式硬件·linux内核·嵌入式·linux驱动
Raina测试2 小时前
Maestro实现IOSUI自动化
运维·自动化
不像程序员的程序媛9 小时前
系统cpu内存负载资源分析
运维·服务器·数据库
Uncertainty!!11 小时前
Ubuntu 22.04 安装超好用中文输入法rime-ice(雾凇拼音)过程记录
linux·ubuntu·中文输入法
ShineWinsu12 小时前
对于Linux:网络基础的解析
linux·网络·面试·udp·笔试·ip·tcp
Asuicao12 小时前
centos7.9版本升级ssh OpenSSH 9.8p1 源码 OpenSSL 1.1.1w 源码包以及安装升级回滚文档
运维·ssh
志栋智能12 小时前
超自动化安全中的威胁狩猎
运维·安全·自动化
↘"LYong13 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Zhang~Ling13 小时前
Vim 多模式详解:命令、插入、底行与插件配置
linux·编辑器·vim
Elastic 中国社区官方博客14 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索