- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE1
PAGE1
前端性能优化基础
1理解前端性能指标
前端性能优化的目标是提升用户体验,这涉及到多个性能指标的监控与优化。以下是一些关键的前端性能指标:
FirstContentfulPaint(FCP):首次内容绘制时间,即页面开始加载后,首次有内容出现在屏幕上的时间。
LargestContentfulPaint(LCP):最大内容绘制时间,即页面上最大的图像或文本块从开始渲染到完成渲染的时间。
FirstInputDelay(FID):首次输入延迟,用户首次与页面交互(如点击按钮)到浏览器开始处理事件的时间。
CumulativeLayoutShift(CLS):累积布局偏移,页面在加载过程中元素位置的意外变化,影响用户体验。
TotalBlockingTime(TBT):总阻塞时间,从首次内容绘制到最大内容绘制时间之间,所有长任务阻塞时间的总和。
1.1示例:使用WebVitals库测量性能指标
//引入WebVitals库
import{getCLS,getFID,getLCP,getTBT}fromweb-vitals;
//监听性能指标
getCLS((cls)={
console.log(`CumulativeLayoutShift:${cls}`);
});
getFID((fid)={
console.log(`FirstInputDelay:${fid}`);
});
getLCP((lcp)={
console.log(`LargestContentfulPaint:${lcp}`);
});
getTBT((tbt)={
console.log(`TotalBlockingTime:${tbt}`);
});
2资源加载过程解析
前端资源加载过程是性能优化的核心环节,主要包括DNS解析、建立连接、请求资源、接收数据、解析HTML、执行JavaScript、渲染页面等步骤。优化资源加载,可以显著提升页面加载速度。
2.1DNS解析
DNS解析是将域名转换为IP地址的过程。减少DNS解析时间可以通过以下方式实现:
使用CDN:内容分发网络可以将资源缓存到全球多个节点,减少DNS解析时间。
减少第三方库的使用:第三方库的DNS解析会增加额外的时间。
2.2建立连接
建立连接时间包括TCP握手和SSL握手时间。优化方法包括:
保持连接:通过HTTP/2协议,可以复用已建立的连接,减少握手时间。
减少重定向:重定向会增加额外的请求和响应时间。
2.3请求资源与接收数据
请求资源和接收数据的时间可以通过以下方式优化:
资源压缩:使用GZIP等压缩算法减少传输的数据量。
资源合并:将多个CSS或JavaScript文件合并为一个,减少HTTP请求次数。
懒加载:对于非首屏资源,可以使用懒加载技术,等到用户滚动到该资源时再加载。
2.4解析HTML与执行JavaScript
异步加载JavaScript:使用async或defer属性,避免阻塞页面渲染。
优化CSS选择器:避免使用过于复杂的选择器,减少CSS解析时间。
2.5渲染页面
使用CSS动画代替JavaScript动画:CSS动画由浏览器优化,性能通常优于JavaScript动画。
优化图像格式:使用WebP等现代图像格式,可以减少图像大小,加快加载速度。
2.6示例:异步加载JavaScript
!--使用async属性异步加载--
scriptasyncsrc=script.js/script
!--使用defer属性,确保脚本在文档解析完成后执行--
scriptdefersrc=script.js/script
2.7示例:优化CSS选择器
/*避免使用过于复杂的选择器*/
/*不推荐*/
div.containerul.navli.activea{
color:red;
}
/*推荐*/
.activea{
color:red;
}
2.8示例:使用WebP图像格式
!--使用WebP格式的图像--
imgsrc=image.webpalt=示例图像
通过以上方法,可以有效地优化前端资源加载过程,提升页面加载速度和用户体验。#前端资源加载优化策略
3减少HTTP请求数
3.1原理
减少HTTP请求数是前端性能优化中的一项关键策略。浏览器在加载页面时,每个请求都需要时间,包括DNS解析、建立连接、发送请求、等待响应等阶段。因此,减少请求次数可以显著提升页面加载速度。
3.2实现方法
CSSSprites
您可能关注的文档
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP成本管理与优化.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP合规性与法规遵循.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:机器学习与人工智能.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:计算与存储.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:监控与日志.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:开发者工具与资源.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:身份与访问管理.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:数据库与数据仓库.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:网络与安全.docx
- 全栈工程师-DevOps与云计算-Google Cloud Platform (GCP)_GCP核心服务:物联网与边缘计算.docx
文档评论(0)