首页 > 前端开发 > 正文

web前端开发中的优化 Web前端应该从哪些方面来优化网站

2023-09-27 09:55:38 | 我爱编程网

在平时的学习生活当中,对于前端开发一定都很关心,今天我爱编程网小编为大家整理了web前端开发中的优化 Web前端应该从哪些方面来优化网站,希望能够帮助到大家。

web前端开发中的优化 Web前端应该从哪些方面来优化网站

Web前端新手要掌握的性能优化

今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文将分享一些前端性能优化的常用手段,包括减少请求次数、减小资源大小、各种缓存、预处理和长连接机制,以及代码方面的性能优化等方面。下面来和小编一起看一看吧!





base64:尤其是在移动端,小图标可以base64(webpack),大图片慎用(如果加载速度过于慢的,而且很重要的图片,可以用base64)


1、减少HTTP的请求次数和传输报文的大小


「CSSSprite(雪碧图、图片精灵)技术」


使用字体图标(IconFont)或者SVG等矢量图


+减少HTTP请求次数或者减少请求内容的大小


+渲染更快:因为它们是基于代码渲染的,而对于位图(png/jpg/gif)是需要先把图片编码在渲染


+不容易是帧变形


+也可以使用webp格式图片,这种格式要小一些(但是需要服务器端支持这种格式的请求处理)


「图片懒加载(延迟加载)技术」


+第一次加载页面的时候不去请求真实的图片,提高第一次渲染页面的速度,请求图片的额外消耗尽可能不要处理


+当页面加载完,把出现在用户视野区域中的图片做真实加载,没有出现的先不加载(节约流浪,也能减少对服务器的请求压力)


o对于数据我们也尽可能分批加载(不要一次请求过多的数据,例如分页技术)


音视频文件取消预加载(preload='none'),这样可以增加第一次渲染页面的速度,当需要播放的时候在加载


客户端和服务器端的数据传输尽可能基于JSON格式完成,XML格式比JSON格式要大一些(还可以基于二进制编码或者文件流格式,这种格式比文件传输好很多)


「把页面的css/js等文件进行合并压缩」


合并:争取css和js都只导入一个(webpack可以实现并合并压缩哦)


压缩:基于webpack可以压缩,对于图片自己找工具先压缩,可以使用服务器的GZIP压缩


图片BASE64(用BASE64码代表图片,减少HTTP,增加浏览器渲染速度,所以真是项目中,尤其是移动端,如果图片加载缓慢,BASE64一下就好了,;但是base64会导致文件中心的代码超级恶心,不利于维护和开发,所以减少使用);webpack中科院配置图片


2、设置各种缓存、预处理和长连接机制


不经常更改的静态资源做缓存处理(一般做的是304或者ETAG等协商缓存)


「建立Cache-Control和ExpiresHTTP的强缓存」


DNS缓存或者预处理(DNSPrefetch),减少DNS的查找


设置本地的离线存储(manifest)或者把一些不经常更改的数据做本地临时存储(webstorage,indexdb)等


有钱就做CDN(地域分布式服务器),或者加服务器


「建立Connection:keep-aliveTcp长连接」


使用HTTP2版本协议(现在用的一般都是http1.1),可以多条tcp通道共存=>管道化链接


一个项目分为不同的域(不同的服务器),例如:资源web服务器、数据服务器,图片服务器,视频服务器等,合理利用服务器资源,但是导致过多的DNS解析


Cache-Control的优先级高于Expires


基于本地存储,做数据的存储


3、代码方面的性能优化


减少对闭包的使用(因为过多使用闭包会产生很多不销毁的内存,处理不好的话,会导致内存溢出“栈溢出”),减少闭包的嵌套(减少作用域链的查找层级)


对于动画来说:能用css解决的不用js(能够用transform处理的,不用传统的css样式,因为transform开启硬件加速,不会引发回流,或者使用定位的元素也会好很多,因为定位的元素脱离文档流,不会对其他元素的位置造成影响),能用
requestAnimationFrame解决的不用定时器


+用requestAnimationFrame还有一个好处,当页面处于休眠无访问状态,动画会自己暂停,知道回复访问才开始,而定时器是不论什么状态,只要页面不管,就一直处理


避免使用iframe(因为iframe会嵌入其他页面,这样父页面渲染的时候,还要同时把子页面也渲染了,渲染进度会变慢)


减少直接对DOM的操作(原因是减少DOM的回流和重绘...),当代项目基本基于mvvm,mvc数据驱动视图渲染的,对DOM的操作框架本身完成,性能要好很多


低耦合高内聚(基于封装的方式:方法封装,插件,组件,框架,类库等封装,减少页面中的冗余代码,提高代码使用率)


尽可能使用事件委托


避免出现死循环或者嵌套循环(嵌套循环会成倍增加循环的次数)


项目中尽可能使用异步编程来模拟出多线程的效果,避免主线程阻塞(异步操作基于Promise设计模式来管理)


JS中不要使用with


避免使用css表达式


函数的防抖和节流


减少使用eval(主要原因是防止压缩代码的时候,由于符号书写不合规,导致代码混乱)


图片地图:对于多次调取使用的图片(尤其是背景图),尽可能把它提取成为公共的样式,而不是每一次重新设置background


减少filter滤镜的使用


尽可能减少选择器的层级


尽可能减少table布局


手动回收堆栈内存(赋值为null)


「栈溢出:死递」


functionfunc(){


func();


}func();


解决方案:


functionfunc(){


setTimeout(func,0);


}func();


相互引用:引用类型之间的相互调用,形成嵌套式内存


letobj1={


name:'obj1',};


letobj2={


name:'obj2',


x:obj1}


obj1.x=obj2;


以上就是小编今天为大家分享的关于Web前端新手要掌握的性能优化知识的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网,最后祝愿小伙伴们工作顺利,成为一名优秀的web前端工程师。


web前端开发中的优化 Web前端应该从哪些方面来优化网站

Web前端应该从哪些方面来优化网站

前端是庞大的,包括 HTML、 CSS、 Javascript、Image 、Flash等等各种各样的资源。前端优化是复杂的,针对方方面面的资源都有不同的方式。那么,前端优化的目的是什么 ?

1. 从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。
2. 从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。
总之,恰当的优化不仅能够改善站点的用户体验并且能够节省相当的资源利用。
前端优化的途径有很多,按粒度大致可以分为两类,第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ;第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。另外,本着提高投入产出比的目的,后文提到的各种优化策略大致按照投入产出比从大到小的顺序排列。
一、页面级优化
1. 减少 HTTP请求数
这条策略基本上所有前端人都知道,而且也是最重要最有效的。都说要减少 HTTP请求,那请求多了到底会怎么样呢 ?首先,每个请求都是有成本的,既包含时间成本也包含资源成本。一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个 “漫长” 而复杂的过程。时间成本就是用户需要看到或者 “感受” 到这个资源是必须要等待这个过程结束的,资源上由于每个请求都需要携带数据,因此每个请求都需要占用带宽。另外,由于浏览器进行并发请求的请求数是有上限的 (具体参见此处 ),因此请求数多了以后,浏览器需要分批进行请求,因此会增加用户的等待时间,会给用户造成站点速度慢这样一个印象,即使可能用户能看到的第一屏的资源都已经请求完了,但是浏览器的进度条会一直存在。
减少 HTTP请求数的主要途径包括:
(1). 从设计实现层面简化页面
如果你的页面像百度首页一样简单,那么接下来的规则基本上都用不着了。保持页面简洁、减少资源的使用时最直接的。如果不是这样,你的页面需要华丽的皮肤,则继续阅读下面的内容。
(2). 合理设置 HTTP缓存
缓存的力量是强大的,恰当的缓存设置可以大大的减少 HTTP请求。以有啊首页为例,当浏览器没有缓存的时候访问一共会发出 78个请求,共 600多 K数据 (如图 1.1),而当第二次访问即浏览器已缓存之后访问则仅有 10个请求,共 20多 K数据 (如图 1.2)。 (这里需要说明的是,如果直接 F5刷新页面的话效果是不一样的,这种情况下请求数还是一样,不过被缓存资源的请求服务器是 304响应,只有 Header没有Body ,可以节省带宽 )
怎样才算合理设置 ?原则很简单,能缓存越多越好,能缓存越久越好。例如,很少变化的图片资源可以直接通过 HTTP Header中的Expires设置一个很长的过期头 ;变化不频繁而又可能会变的资源可以使用 Last-Modifed来做请求验证。尽可能的让资源能够在缓存中待得更久。

web前端开发中的优化 Web前端应该从哪些方面来优化网站我爱编程网

Web前端应该从哪些方面来优化网站

1、图片整合,减少图片获取加载;

2、代码精简,减少不必要的标签;

3、样式抽取,尽量将样式独立到.css文件,而不是写在html中 ;

4、样式能用代码尽量用代码,而不用图片;
5、同一个系统中,布局、样式的统一 可操作性、交互方面的优化。

以上就是关于web前端开发中的优化 Web前端应该从哪些方面来优化网站的全部内容了,如果需要了解更多相关资讯敬请关注我爱编程网。
与“web前端开发中的优化 Web前端应该从哪些方面来优化网站”相关推荐
web前端开发技术的优化 Web前端应该从哪些方面来优化网站
web前端开发技术的优化 Web前端应该从哪些方面来优化网站

Web前端应该从哪些方面来优化网站1、图片整合,减少图片获取加载;2、代码精简,减少不必要的标签;3、样式抽取,尽量将样式独立到.css文件,而不是写在html中;4、样式能用代码尽量用代码,而不用图片;5、同一个系统中,布局、样式的统一可操作性、交互方面的优化。Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文

2023-08-30 23:24:51
web前端开发网站设置 Web前端应该从哪些方面来优化网站
web前端开发网站设置 Web前端应该从哪些方面来优化网站

什么是web前端开发?Web前端开发就是创建Web页面、或者APP等前端界面呈现给用户的过程,通过HTML、CSS及JavaS等衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。前端开发需要学习的技术有:1、掌握基本web前端开发技术:HTML、CSS、JavaScript、DOM、BOM、AJAX等,而且要了解它们在不同浏览器上的兼容情况、渲染原理和存在的Bug

2023-09-26 15:09:15
web前端开发中页面性能优化 Web前端性能优化的实用技巧汇总
web前端开发中页面性能优化 Web前端性能优化的实用技巧汇总

Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文将分享一些前端性能优化的常用手段,包括减少请求次数、减小资源大小、各种缓存、预处理和长连接机制,以及代码方面的性能优化等方面。下面来和小编一起看一看吧!base64:尤其是在移动端,小图标可以base64(webpack),大图片慎用(如果加载速度过于慢的,而且很重要的图片,可

2023-10-12 03:20:19
web前端开发中的优化 Web前端新手要掌握的性能优化
web前端开发中的优化 Web前端新手要掌握的性能优化

Web前端应该从哪些方面来优化网站1、图片整合,减少图片获取加载;2、代码精简,减少不必要的标签;3、样式抽取,尽量将样式独立到.css文件,而不是写在html中;4、样式能用代码尽量用代码,而不用图片;5、同一个系统中,布局、样式的统一可操作性、交互方面的优化。Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文

2023-09-27 09:54:45
web前端开发中的性能优化 前端性能优化之路——图片篇。
web前端开发中的性能优化 前端性能优化之路——图片篇。

Web前端新手要掌握的性能优化今天小编要跟大家分享的文章是关于Web前端新手要掌握的性能优化知识。本文将分享一些前端性能优化的常用手段,包括减少请求次数、减小资源大小、各种缓存、预处理和长连接机制,以及代码方面的性能优化等方面。下面来和小编一起看一看吧!base64:尤其是在移动端,小图标可以base64(webpack),大图片慎用(如果加载速度过于慢的,而且很重要的图片,可

2023-10-15 15:10:42
web前端开发如何优化 在前端开发中如何做好seo优化
web前端开发如何优化 在前端开发中如何做好seo优化

前端开发人员需要具备哪些SEO优化技巧前端开发人员需要具备哪些SEO优化技巧前端开发工程师不仅需要要跟视觉设计师、交互式设计师配合,完美还原设计图稿,编写兼容各大浏览器、加载速度快、用户体验好的页面。现在还需要跟SEO人员配合,调整页面的代码结构和标签。一些成熟的平台,在开发初期并没有考虑优化问题,所以做出来的页面,就算是效果很炫,功能很强,但是对搜索引擎非常的不友善。任何一个成熟的

2023-09-13 11:17:02
web前端开发怎么优化 在前端开发中如何做好seo优化
web前端开发怎么优化 在前端开发中如何做好seo优化

在前端开发中如何做好seo优化很多人学会了一些SEO的常识,就觉得自己已经学会了SEO了,能够给很多网站提供意见,但是其实他们提出的意见,很多时候都是靠猜,靠感觉。至于实际上有没有效果,会不会给网站带来正面的影响,只能走一步看一步。其实一个SEO做得如何,最了解的还是自己,好的SEOER,能够通过平时一点一滴的数据,进行汇总,通过数据指导,来看清SEO的方向。SEO是什么,在我

2023-09-14 18:04:32
web开发前端优化 Web前端性能优化的实用技巧汇总
web开发前端优化 Web前端性能优化的实用技巧汇总

网站WEB前端开发需要掌握什么技术_web前端需要哪些技术前端的应用非常广泛,基本网站、APP、HTML5小程序等都需要前端开发,所以只要是互联网产品基本都需要前端。前端程序猿切页面写页面,Web上、H5上的炫酷效果,是前端开发大展身手的地方。最常见的用于前端开发的技术组合是:HTMLCSSJavaScript。Web前端开发需要掌握的几个必备技术是:HTML_CS

2023-09-05 10:41:43