aromameng / aromameng.github.io

个人博客
https://aromameng.github.io/
0 stars 1 forks source link

【技巧】性能优化工具 #61

Open aromameng opened 1 year ago

aromameng commented 1 year ago

lighthouse

超级详细的手把手教你使用Lighthouse更好推动项目性能优化,性能指标详解,优化方法,需要关注指标分析 https://blog.csdn.net/tangdou369098655/article/details/122531766

谷歌插件地址

https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk/related

aromameng commented 1 year ago

defer与async的区别

defer与async的区别是:前者要等到整个页面正常渲染结束,才会执行;后者一旦下载完,渲染引擎就会中断渲染,执行这个脚本以后,再继续渲染。一句话,defer是“渲染完再执行”,async是“下载完就执行”。另外,如果有多个defer脚本,会按照它们在页面出现的顺序加载,而多个async脚本是不能保证加载顺序的。

————————————————

1.默认引用 script:

当浏览器遇到 script 标签时,文档的解析将停止,并立即下载并执行脚本,脚本执行完毕后将继续解析文档。

2.async模式

当浏览器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,脚本下载完成后开始执行脚本,脚本执行的过程中文档将停止解析,直到脚本执行完毕。

3.defer模式

当浏览器遇到 script 标签时,文档的解析不会停止,其他线程将下载脚本,待到文档解析完成,脚本才会执行。

所以async和defer的最主要的区别就是async是异步下载并立即执行,然后文档继续解析,defer是异步加载后解析文档,然后再执行脚本

———————————————— https://blog.csdn.net/qq_27674439/article/details/101316754 如果不太能确定的话,用defer总是会比async稳定。。。

aromameng commented 1 year ago

Cumulative Layout Shift 累积布局偏移 (CLS)

https://web.dev/cls/?utm_source=devtools