全栈工程师-Web安全与性能优化-前端性能优化_前端资源加载优化.docx

全栈工程师-Web安全与性能优化-前端性能优化_前端资源加载优化.docx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

kkzhujl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档