项目性能优化--gzip

1.项目放到服务器上访问,查看js请求,加载的是js文件;

优化-生成gzip包并优先匹配gzip资源

第一种方式:纯nginx服务器配置

1.nginx配置

复制代码
# 开启
gzip on;

# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;

# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
gzip_comp_level 1;

# 进行压缩的文件类型。javascript有多种形式。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;

# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;

# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";

# http版本,不填不生效
gzip_http_version 1.0;

2.请求,发现请求的是gzip

第二种方式:前端生成gzip

使用compression-webpack-plugin插件 https://www.npmjs.com/package/compression-webpack-plugin

1.vue.config.js中配置

复制代码
const webpack = require('webpack')
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = ['js', 'css']

module.exports = {
  configureWebpack: {
    plugins: [
      // 启用gzip
      new CompressionWebpackPlugin({
        algorithm: 'gzip',
        test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
        threshold: 10240,
        minRatio: 0.8,
        deleteOriginalAssets: false // 是否删除源文件
      }),
      new webpack.optimize.LimitChunkCountPlugin({
        maxChunks: 5, 
        minChunkSize: 100
      })
    ]
  }
}

deleteOriginalAssets为true时,会删除js文件,访问时会报404

2.build后产生gzip文件

3.需要服务端配置

复制代码
// 会优先查找静态gzip资源
gzip_static on;
相关推荐
猿类崛起@6 小时前
2025秋招LLM大模型多模态面试题:110道大模型面试常见问题及答案,助你拿下AI工程师岗位!
人工智能·机器学习·ai·性能优化·大模型·prompt·大模型训练
武子康7 小时前
Java-179 FastDFS 高并发优化思路:max_connections、线程、目录与同步
java·开发语言·nginx·性能优化·系统架构·fastdfs·fdfs
桦说编程8 小时前
JDK1.8+ 中 ConcurrentHashMap#computeIfAbsent 源码解析与使用建议
java·后端·性能优化
UWA9 小时前
如何排查优化URP内置Shader冗余
性能优化·memory·游戏开发
Lazy_zheng10 小时前
前端页面更新检测实战:一次关于「用户不刷新」的需求拉扯战
前端·vue.js·性能优化
wadesir12 小时前
提升系统效率的关键(Linux文件系统性能优化入门教程)
linux·网络·性能优化
小毅&Nora13 小时前
【向量数据库】Milvus向量数据库 ③ 深度解析与性能优化实战
数据库·性能优化·milvus
yiyeguzhou1001 天前
论文解读:CortenMM- Efficient Memory Management with Strong Correctness Guarantees
性能优化·云计算
闲人编程1 天前
Django中间件开发:从请求到响应的完整处理链
python·中间件·性能优化·django·配置·codecapsule
❆VE❆1 天前
【技术分享】前端跨窗口/标签页面通信:掌握以下几种方法,提升用户体验(附带常用场景以及典例)
前端·javascript·性能优化·vue·跨标签通信