web前端机能优化

媒介

机能优化是每一个项目都须要注重的题目,在这里连系项目实际状况较为体系的整顿下

web前端机能优化简朴能够归纳综合为以下几点

1 削减须要加载资本的体积

1.1 按需加载

就是每一个页面之加载须要的内容,这一点在多页运用中平常都有注重,单页运用能够用webpack的import与vue的异步组件完成;react由于本人不熟,一定也有相应的解决方案

1.2 资本紧缩

在现在的webpack4+中,只要将mode设置为production,webpack就会将对应的资本(html、css、js)举行紧缩;gulp也有对应的模块(html-min,uglify)

1.3 懒加载

将首屏不须要展现内容做懒加载处置惩罚,在须要展现时(比方转动屏幕)再加载须要的内容

2 加快加载的速率

2.1 css精灵图

这是一种比较经常运用的手艺,就是jiang将页面须要展现的小图片图标集合到一整张图片中,经由历程background-position设置来展现,道理是由于浏览器对统一域名下的要求有并发个数限定(平常在4-10个)

2.2 cdn加快

cdn道理简朴来讲就是经由历程dns的负载平衡,将接见剖析到近来的服务器,该服务器初次会到目的服务器加载内容,同时会缓存该内容,今后该区域接见此资本的时刻就可以直接读取服务器上的缓存内容;从而块加载的速率;同时还能够打破浏览器的并发个数限定于服务器的带宽限定

3 http协定相干(须要对服务器软件举行相应设置)

3.1 缓存

3.1.1 Last-Modified(http1.0)与ETag(http1.1),浏览器会对相应头中有此两个字段的内容举行缓存,下次接见此资本的时刻会带上f-Modified-Since(与Last-Modified相对应)If-None-Match(与ETag相对应);服务器在识别到文件没有变化的时刻,会返回状况码304,同时也不会返回相应体;浏览器接收到服务器返回的内容后就会从缓存中读取相应内容;
关于为何会有两个字段,http1.0与http1.1各一个,由于http1.0中的商定会有服务器于客户端时候不一致的状况;下同

3.1.2 Expires(http1.0)与Cache-Control: max-age=86400(http1.1),此个字段与3.1.1相似,差别的是浏览器读到对应缓存后,假如没逾期,就不会要求服务器,直接运用缓存里的内容

3.1.3 keep-alive,与tcp协定的三次握手相干,有此字段将会坚持tcp链接,省去再次握手的历程;坚持的时候可经由历程服务器软件举行设置

3.1.4 Accept-Encoding,这个须要浏览器处置惩罚

4 浏览器相干

4.1 defer与async

由于script会壅塞浏览器对html的剖析,对与没有依靠关联的script加上defer或async

4.2 图片用背景图的情势展现

此要领是由于img标签会壅塞html的剖析

结语

机能优化认证道远,现在只想到这些,算是举一反三了,有没涉及到或许毛病的地方请大佬们不吝指正,感谢~~

    原文作者:jm365
    原文地址: https://segmentfault.com/a/1190000018979057
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞