解决webpack打包生成gz格式css/js文件没法在nginx使用的问题--全网唯一正确

news2024/11/16 19:46:22

本文绝对是全网解决这个问题唯一正确的文章,没有之一!

很多人都说开启nginx gzip压缩,这些人完全是胡说八道!你们到底懂不懂叫gzip压缩啊?!

不信你就试试,如果css/js只有gz文件,nginx开启gzip,浏览器就会直接报错:Uncaught SyntaxError: Unexpected token '<'

我最痛恨那些明明不懂,却非要把复制粘贴,未经验证的文章在网上乱发!

这些傻吊还把gzip的原理夸夸其谈的说一大通,然后把他们未经验证、抄来的配置贴上去。

然后网上就充斥了各种各样这种千篇一律复制粘贴误导人的垃圾文章,而且没法真正解决问题!

然后我再来说正题: gzip是啥意思。gzip是指nginx把没有经过压缩的css,js的原始文件,进行zip压缩,达到降低网络带宽,加快页面加载速度,但注意是基于css,js的原始文件进行zip压缩! 这才是gzip使用的场景!

 好了,那现在webpack已经把css,js压缩成gz格式了,那请问你还需要nginx gzip干嘛?!

然后有人又要说了: css,js文件的原始文件不能删除,要跟gz文件一起共存,这样nginx gzip才能起作用!

看看多么荒唐的言论! 如果是这样的话,我webpack干嘛压缩成gz格式,我直接给你nginx原始文件不就完了吗!

好了,又有人说了,启用gzip_static不就完了,然后指定gzip_types不就ok了。

这个只能算说对了一个脚指头,还是不正确,不信你配置上去试试看,一点鸟用就都没有!

首先解释一下gzip_static: 它的意思的确是让nginx首先检查有没有gz格式的静态文件,如果有的话,就直接提供给浏览器。

但是,nginx有个很大的问题,它不是那么智能,就算你在gzip_types里设置了js,css类型,nginx也没法在客户端请求静态文件的时候自动提供gz文件。

那么这个问题到底应该怎么解决?

首先感谢这个时代有chatgpt这个强大的工具,它比搜索引擎这种目标性不强,缺乏归纳总结的常规工具,的确强很多倍。

但是呢,chatgpt并不能在一开始给你正确答案。你需要懂得正确提问,懂得正确的调教它,才能得到你想要的正确答案。

比如说你如果问: nginx 怎么支持gz压缩格式css和js文件?

你是得不到正确答案的,它可能就会胡说八道。

chatgpt 3.5为什么会有1750亿个参数,那是因为它需要的参数越详细,它回答的准确率才越高。

所以你在提问的时候,给chatgpt的信息越详细越好,这样才能得到正确的答案。

这个有点扯多了。

现在揭晓正确答案: 你必须按照正则匹配css/js文件类型的形式,来配置gzip_static规则,这样才能有效

   location ~* \.(js|css)$ {
                gzip_static on;
                expires max;              
        }
 

因为前面已经说了:nginx并不是很智能,并不是你直接配置了gzip_static on和gzip_types,它就能自动查找并提供gz格式的静态文件。

你需要在每一个虚拟主机的配置里面,明确的告诉nginx:匹配到什么类型的文件它才会优先查找并提供gz格式的文件。

答案本身并不复杂,但是你在网上却找不到,因为他们确实不知道,但是又喜欢胡乱复制粘贴。

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

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

相关文章

国外客户跟我要佣金,该给不该给?

“Jack&#xff0c;这次你要是不帮我&#xff0c;我就死定了&#xff01;” 收到美国公司采购Antony的信息时&#xff0c;我有些哭笑不得&#xff0c;因为在我电脑屏幕上除了他的信息外&#xff0c;还有来自他公司监察部门的邮件&#xff1a; “jack先生&#xff0c;我们调查…

Java+SSM springboot+MySQL家政服务预约网站设计en24b

随着社区居民对生活品质的追求以及社会老龄化的加剧&#xff0c;社区居民对家政服务的需求越来越多&#xff0c;家政服务业逐渐成为政府推动、扶持和建设的重点行业。家政服务信息化有助于提高社区家政服务的工作效率和质量。 本次开发的家政服务网站是一个面向社区的家政服务网…

osgSim扩展库

1.osgSim扩展库 osgSim是0SG的一个工具箱(NodeKit)&#xff0c;提供了仿真系统中以及染OpenFlight 数据库所需的特殊渲染功能&#xff0c;如地形高程图、光点节点和 DOF 变换节点等。 下面对一些可能会用到的类进行简单介绍。 1.1 DOFTransform类 osgSim::DOFTransform类是对 …

冒泡排序算法是对已知的数列进行从小到大的递增排序。

题目描述冒泡排序算法是对已知的数列进行从小到大的递增排序每个实例输出两行&#xff0c;第一行输出第1轮结果, 第二行输出最终结果 它的排序方法如下: 1.对数列从头开始扫描&#xff0c;比较两个相邻的元素,如果前者大于后者,则交换两者位置 2.重复步骤1&#xff0c;直到没有…

智能优化算法应用:基于旗鱼算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于旗鱼算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于旗鱼算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.旗鱼算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

go学习之json和单元测试知识

文章目录 一、json以及序列化1.概述2.json应用场景图3.json数据格式说明4.json的序列化1&#xff09;介绍2&#xff09;应用案例 5.json的反序列化1&#xff09;介绍2&#xff09;应用案例 二、单元测试1.引子2.单元测试-基本介绍3.代码实现4.单元测试的细节说明5.单元测试的综…

希亦、追觅和添可洗地机哪个好?3款热门洗地机测评

洗地机因为自身的超强清洁效果&#xff0c;能大大的降低家务清洁工作&#xff0c;所以近年来以及越来越成为家庭的标配家电。 地机选起来让人眼花缭乱&#xff0c;对于消费者来说&#xff0c;如何选择一台实用性价比高的洗地机已经是一个头疼的问题&#xff0c;看着宣传画面很…

【玩转 EdgeOne】| 腾讯云下一代边缘加速CDN EdgeOne 是安全加速界的未来吗?

目录 前言边缘加速与安全加固边缘计算与CDN的融合EdgeOne优秀的安全特性EdgeOne卓越的性能表现灵活的配置和管理生态系统的支持与发展技术创新与未来展望EdgeOne试用结束语 前言 在当下互联网的迅猛发展的时刻&#xff0c;云计算和边缘计算技术的快速发展为网络加速领域带来了…

10-微信小程序 图片 相机 二维码 动画相关API(实现选择相册、拍照、录像、动画)

10-微信小程序 图片 相机 二维码 动画相关API(实现选择相册、拍照、录像、动画) 文章目录 10.1选择图片wx.chooseImage(Object object)object.success 回调函数代码效果 10.2 预览图片wx.previewImage(Object object)代码效果 10.3 相机APICameraContext wx.createCameraContex…

Python基础学习之包与模块详解

文章目录 前言什么是 Python 的包与模块包的身份证如何创建包创建包的小练习 包的导入 - import模块的导入 - from…import导入子包及子包函数的调用导入主包及主包的函数调用导入的包与子包模块之间过长如何优化 强大的第三方包什么是第三方包如何安装第三方包 总结关于Python…

互联网计算机 IC 生态发展大揭秘,DFINITY 官方扶持计划全公开!

DFINITY 团队致力于推动去中心化的互联网计算机&#xff08;IC&#xff09;生态发展&#xff0c;拥有来自斯坦福大学、耶鲁大学、Google 等多领域专家&#xff0c;旨在建立高性能、低成本、开发者友好的生态系统。全球首个官方 DFINITY 实战指南现已上线&#xff0c;将带领更多…

Python面向对象之成员相关知识总结

文章目录 前言一、成员1.1 变量1.2 方法1.3 属性 二、成员修饰符三、对象嵌套四、特殊成员关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面…

如何使用内网穿透实现无公网ip环境访问VScode远程开发

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

解决:ModuleNotFoundError: No module named ‘xlrd‘

解决&#xff1a;ModuleNotFoundError: No module named ‘xlrd’ 文章目录 解决&#xff1a;ModuleNotFoundError: No module named xlrd背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景 在使用之前的代码时&#xff0c;报错&#xff1a; pin_r…

智能优化算法应用:基于乌鸦算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于乌鸦算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于乌鸦算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.乌鸦算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

算法:双指针

数组分块 题型特点&#xff1a;给一个数组&#xff0c;在某个规则下将数组划分成几个区间 解决&#xff1a;双指针&#xff08;数组中利用下标充当指针&#xff09; 283 移动0 定义两个指针 dest指针&#xff08;已处理区间内非0元素的最后一个位置&#xff09;cur指针&#…

Windows系列:windows server 2016 下域环境的搭建(完整版)

windows server 2016 下域环境的搭建&#xff08;完整版&#xff09; windows server 2016 下域环境的搭建在搭建之前简单介绍一下基础知识&#xff1a;一、环境介绍 &#xff1a;1.这里用拓扑图进行展示&#xff1a;2.所有环境配置如下 二、搭建主域&#xff1a;一. 创建主域1…

【DDD】领域驱动设计总结——如何构造领域模型

文章目录 一 分离领域二 领域对象分类2.1 实体(ENTITY)2.2 值对象(VALUE OBJECT)2.3 服务(SERVICE)2.4 模块&#xff08;&#xff2d;ODULE&#xff09; 三 管理领域对象的生命周期3.1 聚合&#xff08;AGGREGATE&#xff09;3.2 工厂&#xff08;FACTORY&#xff09;3.3 存储库…

再探Java集合系列—HashMap

前面我们已经针对LinkedList和ArrayList的底层原理进行了具体研究讨论&#xff0c;大家可以跳链接阅读哦~ 再探Java集合系列—ArrayList-CSDN博客 再探Java集合系列—LinkedList-CSDN博客 HashMap有哪些特征呢&#xff1f; value可以重复&#xff0c;key不能重复&#xff0c…

一个数据中心的PUE修养,必将迎来液冷存储的曙光

实现小于1.3的PUE硬指标&#xff0c;数据中心液冷存储将功不可没。 【全球存储观察 &#xff5c; 科技热点关注】 4000亿千瓦时&#xff0c;能耗如此惊人&#xff0c;这是预计到2030年全国数据中心的年耗电总量。 小于1.3&#xff0c;看似微不足道的数字&#xff0c;这是新建…