一篇文章让你搞懂各种压缩,gzip压缩,nginx的gzip压缩,Minification压缩

news2024/11/24 13:04:40

前言

同学们可能听过这些压缩,但是可能不是了解,这篇文章让你弄清他们

  • webpack的gzip压缩和nginx的gzip压缩有什么区别?
  • 怎样开启gzip压缩?
  • Minfication压缩又是什么鬼?
  • 怎样使项目优化的更好?
  • 本篇文章讲的是其中疑惑的地方,具体的配置,大家还是去看webpack的官网

1. webpack开启gzip压缩

我们最好使用webpack的一个插件compresion-webpack-plugin,通过这个插件来配置项目打包时候的gzip压缩,这时候打包的时候就会生成两种文件,一个是原来没有压缩的文件,一个就是压缩的文件

2. 那么部署到nginx服务器到底该如何选择呢,他到底是使用的哪个打包的文件?

  • 其实服务器还是使用的是没有压缩的文件,那我们开启gzip压缩有啥用呢?

  • 别急我们需要配置nginx.conf文件,配置如下

     gzip_static on;
     gzip_proxied expired no-cache no-store private auth;
     gzip_disable "MSIE [1-6]\.";
    
  • 这个配置有啥用?

    nginx同时支持静态gzip和动态gzip

    有啥区别:

    • 静态gzip就是每次使用的是webpack插件的gzip压缩,直接使用.gz文件
    • 动态gzip就是使用nginx的gzip压缩,他是实时加载的(Cpu负载较高)

3. nginx到底使用静态gzip还是动态gzip呢

我们会同时使用这两种gizp,也就是如果webpack没有开启gzip的话,我们就使用动态gzip;如果开启了,我们就使用静态gzip,这也就是所谓的动静结合。

4. 如果想要压缩更高效,需要再配合Mification压缩,具体怎么配置请参照HtmlWebpackPlugin插件的配置

优点: Minification 能够删除空格符(whitespace)、注释符(comments)、无用的分号(semicolons)或是减少 hex 代码的长度

new HtmlWebpackPlugin({
            minify: {
                removeComments: true,
                collapseWhitespace: true,
                removeAttributeQuotes: true,
                minifyCSS: true // 压缩内联的 CSS
            }
        }),

在这里插入图片描述
在这里插入图片描述

总结

通过 Minification 来压缩这个 CSS 文件,你将节省 17% 的空间,而使用 Gzipping 能够节省 85%,将两种方法结合使用节省的空间是 86%。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DBCO点击试剂1629057-08-4,DBCO-C3-Maleimide,DBCO-C3-Mal

一、基础产品数据(Basic Product Data): CAS号:1629057-08-4 中文名:二苯基环辛炔-C3-马来酰亚胺、二苯并环辛炔-C3-马来酰亚胺 英文名:DBCO-C3-Maleimide,DBCO-C3-Mal 结构式(Struc…

MAC 通过IDEA启动tomcat,显示80端口被占用解决办法

mac系统下使用IntelliJ IDEA中的Tomcat报错问题:Address localhost:80 is already in use 一、状况描述 本人在跑一个tomcat的项目时,由于项目限制了用域名访问,为了方便本地开发调试,需在tomcat在IDEA中将端口设置为80&#xff…

three.js问题记录---MeshLambertMaterial材质颜色失效

初学three.js,跟着教程走都比较顺利,自己尝试写个demo的时候发现创建一个物体,在给材质颜色的时候出现了一个问题。 在three.js官网文档(https://www.techbrood.com/threejs/docs/)中,我们可以看到材料&am…

论文解读-Early Detection of Cybersecurity Threats Using Collaborative Cognition

1 概述与介绍 作者描述了一种新颖的协作框架,该框架通过利用语义丰富的知识表示和与不同机器学习技术集成的推理功能来协助安全分析人员。文中介绍的认知网络安全系统从各种文本源中提取信息,并使用一种扩展的UCO安全本体的将其存储在知识图谱中。该系统…

[附源码]Python计算机毕业设计SSM家庭安防系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

一个ubuntu系统搭建redis集群

下载redis(如果要搭建redis集群不建议使用命令下载,因为后面启动集群时redis5.0一下的会有问题,依赖ruby) 更新apt sudo apt update使用apt下载 sudo apt install redis-server打开redis配置文件 sudo vim /etc/redis/redis.conf设置远程连接&#x…

2023年tiktok自动化运营软件新排名看这里!

【导读】2022年即将结束啦,你的tiktok运营效果怎么样呢?这里我们小编告诉您,用tiktok自动化运营软件可以取得事半功倍的效果哦!这里就带大家看看2023年tiktok自动化运营软件排名哦! 2023年tiktok自动化运营软件新排名看…

FPGA学习笔记(九)SPI学习总结及stm32的HAL库下SPI配置

系列文章目录 一、FPGA学习笔记(一)入门背景、软件及时钟约束 二、FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三、FPGA学习笔记(三) 流水灯入门FPGA设计流程 四、FPGA学习笔记(四&…

上海亚商投顾:沪指继续震荡向上 零售等消费股表现活跃

上海亚商投顾前言:无惧大盘大跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪三大指数今日低开高走,深成指盘中涨超1%,创业板指一度涨逾1.5%,随后均上演冲高回…

【C++进阶】引用 函数提高

文章目录一 、引用1.1 引用的基本使用1.2 引用的注意事项1.3 引用做函数参数1.4 引用的本质 :指针的常量1.5 常量引用二、函数提高1 函数默认参数2 函数占位参数3 函数重载一 、引用 1.1 引用的基本使用 作用:给变量起别名 语法:数据类型 &a…

Python计算目标检测中的IoU

Python计算目标检测中的IoU前言前提条件相关介绍实验环境IoU概念代码实现前言 本文是个人使用PythonPython处理文件的电子笔记,由于水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入我的个人主页查看 前提条件 熟悉P…

​寒武纪思元370系列与飞桨完成II级兼容性测试,联合赋能AI落地实践

2022年12月2日,寒武纪思元370系列与飞桨已完成II级兼容性测试,兼容性表现良好。 本次II级兼容性测试基于寒武纪MLU370系列,测试了包含PP-YOLO、YOLOv3、ResNet50、DeepLabv3、BERT、OCR-DB等共计15个模型的验证,覆盖了计算机视觉…

01-go基础-07-map(声明map、初始化map、map赋值、遍历map、判断key是否在map中、删除map成员)

文章目录1. 声明 map2. 初始化 map3. map赋值3.1 直接声明并赋值3.2 分别定义每一组键值对4. 遍历map5. 判断key是否在map中6. 删除成员(delete())1. 声明 map 语法 var MapName map[keyType]valueType语法示例 var warlords map[string]string仅声明…

Eureka 服务端搭建入门与集群搭建

前言 Eureka在2022年已经确定的是,2.x版本开源计划已经停止了,1.x版本陆陆续续还是有人在维护的。还有很多最早使用微服务的公司还在继续用着eureka作为注册中心,也是很多同学学习微服务的敲门砖。 搭建Eureka服务端 创建一个平平无奇的ma…

2203 CSDN课程-python入门课

Python入门课,较为基础。 1 简介 1.1 前言 事实上,Python已经走过很多年的发展历程了,笔者最一开始学习的时候还是2.x版本,现在早就3.xx版本了。在当提笔,不是青春年少。确实是这样,我记得是2018年开始接…

【Linux从入门到放弃】Linux权限详解

🧑‍💻作者: 情话0.0 📝专栏:《Linux从入门到放弃》 👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢! L…

m基于遗传优化的复杂工序调度matlab仿真,输出甘特图和优化收敛图

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 遗传算法 (Genetic Algorithm,GA) 是一种基于规律进化的随机优化搜索算法,该算法最早是由Holland在1975年提出的。遗传算法的主要优势是通过对目标对象进行优化操作&#…

力扣-234-回文链表

回文链表 CategoryDifficultyLikesDislikesalgorithmsEasy (52.70%)1576- TagsCompanies给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入&#xff…

FTP文件传输服务

FTP 服务概述2-1 FTP连接及连接模式 控制连接:TCP 21,用于发送FTP命令信息 数据连接:TCP 20,用于上传、下载数据 数据连接的建立类型 主动模式:服务端从 20 端口主动向客户端发起连接 被动模式:服务端在指…

SIM8262E-M2,SIM8262A-M2,SIM8260C-M2,SIM8260C 5G定位模组支持多频段

SIM8262:支持R16标准的5G模组,支持多频段5G NR / LTE-FDD / LTE TDD / HSPA,支持SA和NSA双组网模式,高达 2.4Gbps的数据传输;扩展能力强,接口丰富,包括PCIe、USB3.1、GPIO等。该模块为客户的应用…