前端性能优化实践之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、字体优化 ?

  • 字体加载的 问题

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

  • 如何解决问题

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

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

  • 每个值都是 什么意思  ?

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

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

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

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



相关文章
|
11天前
|
缓存 前端开发 JavaScript
前端性能优化
在前端重构项目中,为提升用户体验和页面响应速度,采用React框架。遇到页面加载慢和白屏问题,主要归因于数据渲染效率低和状态管理复杂。通过路由懒加载减少初次加载时间,使用Redux Toolkit和immer优化状态管理,配合精细化数据缓存策略。此外,借助React.memo和shouldComponentUpdate避免不必要的渲染,并实施预加载和预渲染策略。关键在于性能意识、技术工具选择、状态管理和用户体验优先。前端开发是技术、用户体验和性能的综合艺术,需持续学习和优化。
|
3天前
|
JavaScript 前端开发
JavaScript 解决切换图片问题
JavaScript 解决切换图片问题
|
4天前
|
缓存 前端开发 JavaScript
基于JavaScript的前端性能优化技术探讨
基于JavaScript的前端性能优化技术探讨
18 1
|
4天前
|
前端开发 JavaScript PHP
解决在页面中无法获取qrcode.js生成的base64的图片
该文档介绍了如何解决在部分安卓手机上无法正确加载二维码图片的问题。之前的方法是使用qrcode.js生成二维码,然后与背景图结合用canvas绘制海报,但在某些安卓设备上遇到onload事件不触发的问题。
16 2
|
5天前
|
敏捷开发 设计模式 前端开发
实践总结|前端架构设计的一点考究
本文总结了作者在日常/大促业务的“敏捷”开发过程中产生的疑惑,并尝试做出思考得到一些解决思路和方案。在前端开发和实践过程中,梳理了一些简单设计方案可以缓解当时 “头疼” 的几个敏捷迭代问题,并实践在项目迭代中。
|
6天前
|
缓存 资源调度 Rust
前端效率提升实践之路
在一个B端前端项目中,开发团队面临开发效率低、交付质量和可维护性差的问题。为了解决这些问题,他们以“提效”为主题,展开了项目治理。首先,他们优化了发布和编译过程,通过更换包管理工具、减少不必要的包、使用缓存策略等方法,显著缩短了发布和编译时间。其次,团队致力于沉淀可复用物料,创建了高度配置化的组件,通过VSCode插件助手自动化配置,提高了代码复用性和开发效率。此外,他们还改进了研发流程,制定了前端、后端和产品的规范,以减少沟通成本和提高接口质量。通过这些措施,团队成功提升了开发效率,并降低了代码维护成本。
30 3
前端效率提升实践之路
|
7天前
|
JavaScript 前端开发 Java
前端知识点03(JS)
前端知识点概览:了解JS中的this指向,包括全局、函数、new、apply/call/bind及箭头函数的规则。理解script的async和defer属性对脚本加载和执行的影响。探讨setTimeout和setInterval的用法及其在性能上的考量。ES6与ES5的区别在于新语法特性,如let/const、箭头函数、模板字符串、模块化、类和继承等。此外,ES6还引入了Symbol、解构赋值、默认参数、Map/Set和Generator等功能。别忘了点赞和支持作者哦!
17 1
|
7天前
|
JavaScript 前端开发
前端面试02(JS)
本文是前端面试系列的第二篇,主要涵盖了JavaScript的基础知识,包括JS的组成(ECMAScript、DOM、BOM)、内置对象(如String、Array、Math、Date等)、数组操作方法、数据类型检测方法(typeof、instanceof、constructor、Object.prototype.toString.call)、闭包的概念及其特点、前端内存泄漏的原因和类型、事件委托的优势、基本数据类型与引用数据类型的差异、原型链的工作原理以及JS实现继承的多种方式(原型链、构造函数、组合继承等)。文章结尾鼓励读者点赞和支持作者。
9 1
|
8天前
|
JavaScript 前端开发 NoSQL
构建基于Node.js的全栈应用:从前端到后端的完整指南
【5月更文挑战第24天】本文是关于使用Node.js构建全栈应用的指南,涵盖前端(React或Vue)、后端(Node.js + Express)和数据库(MongoDB)的选型与实现。文章介绍了项目结构、前端组件化开发、后端API接口编写、前后端联调及部署上线的注意事项,帮助读者掌握全栈开发流程。
|
10天前
|
移动开发 JavaScript 前端开发
【热门话题】Vue.js:现代前端开发的轻量级框架之旅
Vue.js,由尤雨溪于2014年创建,是一个轻量级的前端框架,因其简洁API、高效渲染和组件系统深受全球开发者喜爱。本文探讨Vue的核心理念、技术架构、开发实践及在现代Web开发中的应用。Vue遵循渐进式框架思想,提供声明式编程、组件化和响应式数据绑定。技术上,它采用双向数据绑定、虚拟DOM和生命周期钩子。开发实践中,Vue CLI和Vuex、Vue Router分别加速开发和管理状态、路由。Vue不仅适用于单页应用,还支持多页应用、移动开发和跨平台项目,拥有丰富的社区生态和插件。随着Vue 3的推出,Vue将持续创新并影响前端开发领域。
32 0