码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 一篇文章让你搞懂各种压缩,gzip压缩,nginx的gzip压缩,Minification压缩


    前言

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

    • 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]\.";
      
      • 1
      • 2
      • 3
    • 这个配置有啥用?

      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
                }
            }),
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    给大家分享一个在线项目性能分析的网站

    PageSpeed
    大家可以根据上面的提示去优化自己的项目
    在这里插入图片描述

    总结

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

  • 相关阅读:
    2023年地理信息系统与遥感专业就业前景与升学高校排名选择
    氧化锌避雷器绝缘电阻测试
    Python数据结构——Tuple
    LeetCode两个链表的第一个重合节点
    Codeforces Round 439 (Div. 2) C. The Intriguing Obsession
    【知识总结】开发提效50%的Javascript常用函数
    java 小练习
    一看就会,使用 nginx 作为 HTTP 负载均衡器
    猿创征文|从迷茫学生到get谷歌开发者大会定向邀请名额
    Android-源码分析-MTK平台BUG解决:客户电池NTC功能(移植高低温报警,关机报警功能)---第二天分析与解决
  • 原文地址:https://blog.csdn.net/weixin_46051988/article/details/128209629
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号