做想做的事,去想去的地方,爱想爱的人,始终如一,Do not give up easily –along
言归正传,大家不论在平常写代码,还是面试,或者在做项目时,在随着代码量的增加,业务逻辑的处理,项目的性能会越来越差,在浏览页面时体验极差,那该如何解决呢,接下来我就要跟大家说说我了解和学习到的前端性能优化方案,可能有很多不到之处,希望大家见解~
一、图片优化
1.原因:
一个网站中能够最直观、清晰的呈现给用户的还是图片,可以直接的表达网站的主题内容和主题,可以随着图片的增多,在加载的时候,浏览器会去下载这些资源,可能导致网页加载缓慢,对用户
体验极差~
2.图片分类
1.jpg全名JPEG. JPEG图片是以24位颜色存储单个视图.
2.png可移植网络图片格式
3.GIF
4.Svg可缩放矢量图形是基于可扩展标记语言
5.Webp和APNG,出现比较晚未被web标准所采纳
3.优化方法
1.使用精灵图
2.使用占用空间更小的favion.ico
3.使用webp图片
4.上线前对图片压缩,减小占用内纯.
二、减少http请求次数
1.原因:
浏览器在解析dom的时候,大多时候都在请求http加载资源,一个页面可能会有很多的请求,这样大大耗费了性能.
2.解决:
1)可以将多个资源的加载捆绑成一个资源
2)可以将多个图片拼接成一张图片,使用x,y坐标实现显示的内容
三、资源加载
1.使用link加载资源不要使用!import
2.link标签放在上部
3.script标签放在底部
原因:js是单线程,加载顺序也是自上而下执行,首先要让最直观的结构和样式加载出来,呈现给用户,然后再加在行为.
四、延迟加载
1.可以使用懒加载技术
实现:首先展示给用户的是首页,可以让其他页面的内容或者用户看不到的内容延迟可以,只有在触发某个条件的时候再去提前加载.
五、减小cookie的大小
原因:Cookie被用来做认证或个性化设置,其信息被包含在http报文头中,对于cookie我们要注意以下几点,来提高请求的响应速度,
解决:
去除没有必要的cookie,如果网页不需要cookie就完全禁掉
将cookie的大小减到最小
设置合适的过期时间,比较长的过期时间可以提高响应速度。
六、避免使用闭包
原因:使用闭包会把变量值始终保存在内存上,对网页性能有很大的损耗,在ie中可能还会导致内存泄露.
七、减少DOM的数量
原因:在我们做一个大项目时,dom数量可能会有几万个,与几百个几千个相比,性能是由很大的差距的.所以尽量减少DOM的数量
八、使用CDN缓存
九、使用模块化
十、异步加载资源
…未完待续
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/12274.html