本文已参与「新人创作礼」活动,一起开启掘金创作之路。
面试中你是否会遇到问你这样的问题,为什么要做前端性能优化,性能优化的标准是什么,依据的指标是什么?或者说谈谈你对前端性能优化的理解?
如果没有做过这方面的优化,是否会脑子一片空白!
那么我们先从第一个问题开始
一、 为什么要做前端性能优化
从最开始做前端的时候大家接触到都是html、css、js 这些静态网页制作,一写简单的js脚本特效,但随着网络的发展,接触前端的时间长了,前端其实和用户的距离是非常近的,客户的用户体验在开发过程中占有了很大的思考比重。如果开发一款产品,你作为用户,来访问网站的时候,打开网页的速度非常慢,首屏渲染加载时间长,并且好不容易加载完成了,但是图片资源还没有加载完成,你是不是就会觉得这个网站个很垃圾,不想在访问第二次!又比如现在的搜索引擎,他都会去对你的网站做性能评估,如果你的网站没有进行性能优化,那么就会影响你的排名!用户在搜索的时候,访问量就会流失很多!此时,你是否会感觉到性能优化的重要性!
二、 性能优化的标准是什么
有没有一种平台或者工具能够像后端一样,记录bug的日志,以便给我们反馈
答案是有,它就是性能监控平台,能判断当前有没有性能问题,给我们提示出现在前端、后端、还是网络层
在现代的浏览器当中打开detools工具能看到performance,Lighthouse 来帮助我们做性能测试以及性能指标采集
三、我们从哪些方面入手
我们通过性能指标采集的数据 可以看到图中performance有三个 FP (首次绘制),DCL(DOM内容加载事件) ,FCP (首次内容绘制),LCP(最大内容绘制),动画加载,子框架加载,网络请求等耗时
Lighthouse 中FCP 、TBT、 LCP、 CLS等加载耗时
有了以上这些数据我们就能够针对性的对项目进行性能优化
性能优化最终的目的以及收益————网页的渲染加载速度能够给用户带来更友好的体验,以及访问量!