Erlo

前端性能优化

收藏 2018-05-29 16:47:18   667   博客园
页面报错/反馈
点赞

  做想做的事,去想去的地方,爱想爱的人,始终如一,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缓存

九、使用模块化

十、异步加载资源

  ...未完待续

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认