首先我们需要搞清楚,我们为什么需要进行文件的压缩与合并?压缩与合并的原因主要有两点

  • 减少HTTP请求数
  • 减小HTTP的请求大小
    这里的主要优化方式有3点:
  • HTML/CSS/JS文件的压缩
  • CSS/JS文件的合并
  • 开启GZIP压缩

如何进行HTML压缩

  1. 使用在线网站压缩
  2. html-minifier工具
  3. 后端模板引擎渲染时压缩

如何进行CSS压缩

  1. 使用在线网站压缩
  2. 对于html中的css可以使用html-minifier压缩
  3. clean-css工具

为什么要进行js压缩与混乱

  1. 无效的字符删除
  2. 删除注释
  3. 代码语义的缩减和优化
  4. 代码保护

如何进行js的压缩

  1. 使用在线网站进行压缩
  2. 对于html中的css可以使用html-minifier压缩
  3. uglifyjs2工具

如何进行js的合并

  1. 手动进行合并
  2. 使用webpack,gulp等工具

文件合并带来的优势

  1. 假设我们未合并之前,有N个JS文件,文件的合并我们可以减少N-1上行的HTTP请求
  2. 减轻了丢包问题的影响
  3. 减少了经过代理服务器时断开的可能

文件合并存在的问题

  1. 由于文件全部被合并到一个js文件中,那么首屏渲染时就需要将完整的js文件下载下来,然后才能渲染首屏,这样增加了首屏渲染的时间
  2. 由于文件合并时,文件的md5戳会发生变化,从而导致缓存失效的问题

如何有效的规避文件合并带来的问题

  1. 可以将项目的第三方依赖打到一个common chunks中,这样不会每次打包都会改变这个文件的md5戳

转载于:https://www.cnblogs.com/guolizhi/p/10251265.html

前端性能优化(一)-- 文件的压缩与合并相关推荐

  1. 前端性能优化的一些技巧(90% chatGpt生成)

    终于弄好了chatGpt的账号,赶紧来体验一波. 先来一波结论,这篇文章的主要内容来源,90%是用chatGpt生成的. 先上chatGpt的生成的结果: 作为一名懒惰的程序员,chatGpt会帮助我 ...

  2. 前端服务器获取js文件偶尔慢_我所认识的前端性能优化

    现象: 用户体验差 网页太卡打不开(卡.慢) 服务器带宽流量(成本) 服务器压力 从哪处理:各处的缓存 地址缓存 减少DNS的解析请求.预解析DNS(不是"解析DNS") TCP缓 ...

  3. dll文件懒加载_前端性能优化

    # 前端性能优化 写在最前面:下面都是我对webpack的一些性能优化,想系统的学习性能优化方面的知识 推荐大家看看这本书 很系统 感觉面试也能如鱼得水 ## 构建优化 ### webpack优化 ( ...

  4. 前端性能优化总结/懒加载、函数节流、优化dom操作、雪碧图、合并文件

    1.减少 HTTP 请求数量 在浏览器与服务器进行通信时,主要是通过 HTTP 进行通信.浏览器与服务器需要经过三次握手,每次握手需要花费大量时间.而且不同浏览器对资源文件并发请求数量有限(不同浏览器 ...

  5. 【前端性能优化实践】手把手教你实现webpack图片压缩插件

    前言 我想写一个系列:前端性能优化实践方案.网上虽然一搜一大把这样的文章,但大多缺乏体系化.也有很多讲性能优化的书籍,但其实想照着书上的知识进行实践,还是挺难的一件事. 这是该系列的第一篇文章 由于自 ...

  6. 深度讲解:web前端性能优化

    一.课程简介: 1.课程大纲 涉及到的分类 网络层面 构建层面 浏览器渲染层面 服务端层面 涉及到的功能点 资源的合并与压缩 图片编解码原理和类型选择 浏览器渲染机制 懒加载预加载 浏览器存储 缓存机 ...

  7. 大型网站技术架构(3):WEB 前端性能优化

    上次说到了性能优化策略,根据网站的分层架构,可以大致的分为 web 前端性能优化,应用服务器性能优化,存储服务器性能优化三大类 这次来说一下 web 前端性能优化,一般来说,web 前端就是应用服务器 ...

  8. 前端性能优化——从 10 多秒到 1.05 秒

    https://lishaoy.net 关于 性能优化 是个大的面,这篇文章主要涉及到 前端 的几个点,如 前端性能优化 的流程.常见技术手段.工具等. 提及 前端性能优化 ,大家应该都会想到 雅虎军 ...

  9. 移动H5前端性能优化指南[转]

    移动H5前端性能优化指南 米随随2015.01.23 移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用 2. 在Mobile侧我们提出三秒种渲染完成首屏指标 3. 基于第二点 ...

最新文章

  1. linux下字符串处理工具二:awk( 二),awk脚本
  2. bmaplib vue 调用_Vue-cli3/4中使用AMap、BMap
  3. mybatis delete返回值_从零开始学习在IntelliJ IDEA 中使用mybatis
  4. 结构体对齐原理【转】
  5. 中国人工智能学会通讯——人工智能如何造福人类 1.1 人工智能是中性技术
  6. 关于火狐中使用jquery的animate做动画效果的问题解决
  7. python中浮点数能用乘法吗_简单讲解Python中的数字类型及基本的数学计算
  8. Java实现蛇形矩阵
  9. Double 中的 NAN与INFINITY
  10. js生成二维码附带logo
  11. Vue 下载文件需要token设置
  12. ubuntu使用教程
  13. 如何在Github上建立自己的个人博客网站详细教程
  14. Excel模糊查找+数据透视
  15. 《没那么简单》-黄小琥
  16. JavaScript数字运算必备库——big.js源码解析
  17. MATLAB 2021a+ MAC
  18. windows服务器怎么查看网站,windows运行查看服务器
  19. 李开复成长中的10句格言:求知若饥 虚心若愚
  20. AES加密:PHP与Java互通,解密准确

热门文章

  1. mysql 5.6 emoji_让MySQL 5.6支持Emoji表情
  2. 如何控制if跳出_Wasm介绍之5:控制指令 | 火星技术帖
  3. mysql function select 赋值_数据分析面试之mysql的分组排序和变量赋值顺序
  4. Spring-cloud Config Server 3种配置方式
  5. Win10设置防火墙,使局域网能访问此电脑的Tomcat服务
  6. MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist
  7. Android开发笔记(三十七)按钮类控件
  8. 怎样在matlab q-q图上读出斜率,Q分解法潮流计算matlab小程序
  9. python 同步event对象
  10. django框架基础