前端性能优化实践之js 图片 字体优化(4)

简介: 前端性能优化实践之js 图片 字体优化(4)

1、资源压缩合并

  • 为什么需要做这件事情 ?

网络异常,图片无法展示
|

1、html 压缩

网络异常,图片无法展示
|

2、css 压缩

网络异常,图片无法展示
|

3、js 压缩

网络异常,图片无法展示
|

  • 合并部分

网络异常,图片无法展示
|

2、图片优化 ?

网络异常,图片无法展示
|

  • 先说1 格式

1、jpg 格式  可使用 imagemin 测试

优点:体积小,可以压缩 色彩多 24位
    缺点:边角处理 不细腻,有锯齿感
    场景:轮播图和大的图片
复制代码

2、png格式  可使用 imagemin-png

优点:可以压缩 色彩多 24位, 边角没有锯齿感
    缺点:体积大
    场景:logo 和 其他小的图片
复制代码

3、webp

优点:可以压缩 色彩多 24位, 边角没有锯齿感,而且体积小
    缺点:浏览器兼容性有问题 
    场景:如果解决了兼容,或者 用户群体不需要兼容,非常nice
复制代码
  • 再说 2 懒加载方式
1、原生图片懒加载 img 上添加 loading="lazy" 但兼容可能不好 所以常使用第三方
      2、第三方工具  verlok/lazyload https://github.com/verlok/vanilla-lazyload     
      yall.js
      Blazy
复制代码
  • 将项目更改为懒加载 方式 加载图片

网络异常,图片无法展示
|

  • 使用这个组件 加载 图片  effect='blur' 指的是没加载出来时模糊感

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 此时 页面往下翻 才会展示出 图片  非常nice ~

网络异常,图片无法展示
|

再说3 渐进式 加载 方式

  • 好处是 起码可以始终看到 轮廓,即使开始有点模糊

网络异常,图片无法展示
|

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 解决方案

网络异常,图片无法展示
|

再说4 响应式 加载 方式

网络异常,图片无法展示
|

  • 目的是实现不要尺寸下加载不同大小的图片
  • 这是一个实际例子

网络异常,图片无法展示
|

网络异常,图片无法展示
|

3、字体优化 ?

  • 字体加载的 问题

网络异常,图片无法展示
|

  • 如何解决问题

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • 每个值都是 什么意思  ?

网络异常,图片无法展示
|

  • 结合自己这个项目 敲一下

网络异常,图片无法展示
|

  • 另外一种方式 并不建议
    网络异常,图片无法展示
    |



相关文章
|
2月前
|
缓存 前端开发 UED
如何优化前端性能以提高加载速度
前端性能优化对提升网站加载速度至关重要,直接影响用户体验、SEO排名和转化率。本文介绍了优化前端加载速度的关键技巧,包括最小化HTTP请求、使用CDN、优化图片、利用浏览器缓存、压缩文件和实现懒加载。通过这些方法,可以显著减少页面加载时间,提高网站的整体性能和用户满意度。
|
23天前
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
106 11
|
2月前
|
前端开发 JavaScript Java
JavaScript闭包深入剖析:性能剖析与优化技巧
JavaScript 闭包是强大而灵活的特性,广泛应用于数据封装、函数柯里化和事件处理等场景。闭包通过保存外部作用域的变量,实现了私有变量和方法的创建,提升了代码的安全性和可维护性。然而,闭包也可能带来性能问题,如内存泄漏和执行效率下降。为优化闭包性能,建议采取以下策略:及时解除对不再使用的闭包变量的引用,减少闭包的创建次数,使用 WeakMap 管理弱引用,以及优化闭包结构以减少作用域链查找的开销。在实际开发中,无论是 Web 前端还是 Node.js 后端,这些优化措施都能显著提升程序的性能和稳定性。
141 70
|
1月前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
1月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
1月前
|
缓存 自然语言处理 JavaScript
JavaScript中闭包详解+举例,闭包的各种实践场景:高级技巧与实用指南
闭包是JavaScript中不可或缺的部分,它不仅可以增强代码的可维护性,还能在模块化、回调处理等场景中发挥巨大作用。然而,闭包的强大也意味着需要谨慎使用,避免潜在的性能问题和内存泄漏。通过对闭包原理的深入理解以及在实际项目中的灵活应用,你将能够更加高效地编写出简洁且功能强大的代码。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
1月前
|
JavaScript 前端开发 Java
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
柯里化是一种强大的函数式编程技术,它通过将函数分解为单参数形式,实现了灵活性与可复用性的统一。无论是参数复用、延迟执行,还是函数组合,柯里化都为现代编程提供了极大的便利。 从 Redux 的选择器优化到复杂的数据流处理,再到深度嵌套的函数优化,柯里化在实际开发中展现出了非凡的价值。如果你希望编写更简洁、更优雅的代码,柯里化无疑是一个值得深入学习和实践的工具。从简单的实现到复杂的应用,希望这篇博客能为你揭开柯里化的奥秘,助力你的开发之旅! 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
11月前
|
前端开发 JavaScript 网络协议
前端最常见的JS面试题大全
【4月更文挑战第3天】前端最常见的JS面试题大全
143 5
|
11月前
|
JavaScript 前端开发
web前端JS高阶面试题(1),高级开发工程师面试
web前端JS高阶面试题(1),高级开发工程师面试
|
11月前
|
JSON JavaScript 前端开发
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗