首页 > 前端开发 > 正文

web前端开发提高性能 web长页面如何优化?

2023-10-03 18:50:19 | 我爱编程网

我爱编程网小编给大家带来了web前端开发提高性能 web长页面如何优化?相关文章,一起来看一下吧。

web前端开发提高性能 web长页面如何优化?

web长页面如何优化?

想要成为一名合格的Web前端工程师,Web前端性能优化是一个必须要掌握的知识,那么应该怎么进行Web前端性能优化呢?

1、CSS精灵

CSSSprites在国内很多人叫CSS精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需顾忌这个问题。

2、代码压缩

(1)将table改为div布局

尽量将table标签布局HTML重构div布局,可以节约至少40%的代码量。由于div代码少于table布局的HTML网页,所以搜索引擎索引权重也优于table布局的HTML网页。

(2)缩减精简div、span、ul、li等系列标签

布局DIV+CSS网页时候,有时候可以节约一些DIV布局代码,减少代码量。

(3)删除多余空格

删除多余空格换行,可以有效地压缩HTML代码占用字节,一般在开发完成后可以对HTML中代码进行删除换行和空格内容。

(4)表格类型布局时候适当使用table替代div布局

如果是本身是表格数据列表排版,我们最好选择table,因为表格布局使用table优于div布局,使用table布局却比div布局节约HTML标签代码和节约CSS样式。

(5)网页GZIP压缩

自己的服务器推荐设置网页Gzip压缩功能。

3、高质量的JS代码肯定能省很多事,封装JS以及重复调用方法能够减少很多操作。

4、减少对DOM的操作

(1)创建临时父元素。

(2)创建子元素,并添加内容,设置属性。

(3)把子元素加入到临时父元素中。

(4)把临时父元素添加到DOM树。

或:(1)找到要添加位置的元素。

(2)改变该元素内容为需要的HTML。

5、使用JSON格式来进行数据交换

原理:JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。

6、高效使用HTML标签和CSS样式

7、使用CDN加速(内容分发网络)

CDN的全称是ContentDeliveryNetwork,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

8、精简CSS和JS文件

9、注意控制Cookie大小和污染

web前端开发提高性能 web长页面如何优化?

如何对前端性能进行优化

前端开发代码优化、可维护性、浏览器兼容性是非常重要的课题。从实际的工程应用角度出发,最常遇见的前端优化问题。前端性能进行优化规则,基本可以涵盖现在前端大部分的性能优化原则了,很多更加geek和精细优化方法都是从这些原则里面延伸出来的。

前端性能进行优化都有哪些规则

  1. 减少HTTP请求次数

    尽量合并图片、CSS、JS。比如加载一个页面有5个css文件的话,把这个5个文件合成一个的话,就只需要发出一次http请求,节省网络请求时间,加快页面的加载。

2. 使用CDN

网站上静态资源即css、js全都使用cdn分发,包括图片

3. 避免空的src和href

当link标签的href属性为空、script标签的src属性为空的时候,浏览器渲染的时候会把当前页面的URL作为它们的属性值,从而把页面的内容加载进来作为它们的值。所以要避免犯这样的疏忽。

4. 为文件头指定Expires

Exipres是用来设置文件的过期时间的,一般对css、js、图片资源有效。 他可以使内容具有缓存性,这样下回再访问同样的资源时就通过浏览器缓存区读取,不需要再发出http请求。如下例子:

新浪微博的这个css文件的Expires时间是2016-5-04 09:14:14.

5. 使用gzip压缩内容

gzip能够压缩任何一个文本类型的响应,包括html,xml,json。大大缩小请求返回的数据量。

6. 把CSS放到顶部

网页上的资源加载时从上网下顺序加载的,所以css放在页面的顶部能够优先渲染页面,让用户感觉页面加载很快。

7. 把JS放到底部 我爱编程网

加载js时会对后续的资源造成阻塞,必须得等js加载完才去加载后续的文件 ,所以就把js放在页面底部最后加载。

8. 避免使用CSS表达式

举个css表达式的例子

font-color: expression( (new Date()).getHours()%3 ? “#FFFFFF" : “#AAAAAA" );

这个表达式会持续的在页面上计算样式,影响页面的性能。并且css表达式只被IE支持。

9. 将CSS和JS放到外部文件中

目的是缓存文件,可以参考原则4。 但有时候为了减少请求,也会直接写到页面里,需根据PV和IP的比例权衡。

10. 权衡DNS查找次数

减少主机名可以节省响应时间。但同时,需要注意,减少主机会减少页面中并行下载的数量。

IE浏览器在同一时刻只能从同一域名下载两个文件。当在一个页面显示多张图片时,IE 用户的图片下载速度就会受到影响。所以新浪会搞N个二级域名来放图片。

下面是新浪微博的图片域名,我们可以看到他有多个域名,这样可以保证这些不同域名能够同时去下载图片,而不用排队。不过如果当使用的域名过多时,响应时间就会慢,因为不用响应域名时间不一致。

11. 精简CSS和JS

这里就涉及到css和js的压缩了。比如下面的新浪的一个css文件,把空格回车全部去掉,减少文件的大小。现在的压缩工具有很多,基本主流的前端构建工具都能进行css和js文件的压缩,如grunt,glup等。

12. 避免跳转

有种现象会比较坑爹,看起来没什么差别,其实多次了一次页面跳转。比如当URL本该有斜杠(/)却被忽略掉时。例如,当我们要访问  baidu.com 时,实际上返回的是一个包含301代码的跳转,它指向的是  baidu.com/ (注意末尾的斜杠)。在nginx服务器可以使用rewrite;Apache服务器中可以使用Alias 或者 mod_rewrite或者the DirectorySlash来避免。

另一种是不用域名之间的跳转, 比如访问  baidu.com/bbs 跳转到  bbs.baidu.com/ 。那么可以通过使用Alias或者mod_rewirte建立CNAME(保存一个域名和另外一个域名之间关系的DNS记录)来替代。

13. 删除重复的JS和CSS

重复调用脚本,除了增加额外的HTTP请求外,多次运算也会浪费时间。在IE和Firefox中不管脚本是否可缓存,它们都存在重复运算JavaScript的问题。

14. 配置ETags

它用来判断浏览器缓存里的元素是否和原来服务器上的一致。比last-modified date更具有弹性,例如某个文件在1秒内修改了10次,Etag可以综合Inode(文件的索引节点(inode)数),MTime(修改时间)和Size来精准的进行判断,避开UNIX记录MTime只能精确到秒的问题。 服务器集群使用,可取后两个参数。使用ETags减少Web应用带宽和负载

15. 可缓存的AJAX

异步请求同样的造成用户等待,所以使用ajax请求时,要主动告诉浏览器如果该请求有缓存就去请求缓存内容。如下代码片段, cache:true就是显式的要求如果当前请求有缓存的话,直接使用缓存

$.ajax({      url : 'url',      dataType : "json",      cache: true,      success : function(son, status){                  }

16. 使用GET来完成AJAX请求

当使用XMLHttpRequest时,浏览器中的POST方法是一个“两步走”的过程:首先发送文件头,然后才发送数据。因此使用GET获取数据时更加有意义。

17. 减少DOM元素数量

这是一门大学问,这里可以引申出一堆优化的细节。想要具体研究的可以看后面推荐书籍。总之大原则减少DOM数量,就会减少浏览器的解析负担。

18. 避免404

比如外链的css、js文件出现问题返回404时,会破坏浏览器的并行加载。

19. 减少Cookie的大小

Cookie里面别塞那么多东西,因为每个请求都得带着他跑。

20. 使用无cookie的域

比如CSS、js、图片等,客户端请求静态文件的时候,减少了 Cookie 的反复传输对主域名的影响。

21. 不要使用滤镜

IE独有属性AlphaImageLoader用于修正7.0以下版本中显示PNG图片的半透明效果。这个滤镜的问题在于浏览器加载图片时它会终止内容的呈现并且冻结浏览器。在每一个元素(不仅仅是图片)它都会运算一次,增加了内存开支,因此它的问题是多方面的。

完全避免使用AlphaImageLoader的最好方法就是使用PNG8格式来代替,这种格式能在IE中很好地工作。如果你确实需要使用AlphaImageLoader,请使用下划线_filter又使之对IE7以上版本的用户无效。

22. 不要在HTML中缩放图片

比如你需要的图片尺寸是50* 50

那就不用用一张500*500的大尺寸图片,影响加载

23. 缩小favicon.ico并缓存

web前端开发提高性能 web长页面如何优化?

前端工程师怎样提高开发效率

前端工程师其实是一个工作很杂的职位,除了要负责切图、写html/css/js外,还要处理一系列的浏览器兼容性问题、优化网页性能等,所以提高前端工程师的开发效率是势在必行的,也是前端共工程化的体现。那么如何提高便可以按照前端工程师涉及的工作点来进行划分。下面我就介绍下平时我在工作中使用的一些提高开发效率的方法。

(一)切图

切图是一个前端最基础的技能,一般我们使用photoshop或者FireWorks基本都能搞定设计师交付给我们的设计图,但是要提高切图效率的话就得使用一些诀窍了,比如利用PS里的动作来实现“一键切图”功能,具体可以看我的这篇文章: ,除了切图还介绍了其他的实用方法和工具。

(二)编写html/css/js

对于编写代码部分我们首先要找到一款合适自己的IDE工具,建议不要使用notepad++或者dreamweaver,这些工具已经不符合前端潮流了,无法让自己优雅地敲代码。这里我主要推荐sublime text、atom或者webstrom,因为它们除了人性化的界面和支持大多数语法的高亮外,还可以安装各种各样的插件来拓展你的IDE工具,下面我主要介绍几款sublime text提高开发效率的插件:

其中Element是用于快速编写html的,比如输入 ul>li 后按下tab键便可以生成一个ul标签里面包含一个li标签,其官方文档为:-sheet/。

JSFormat用于格式化JS;CSScomb用于对样式属性进行一键排序;HTML-CSS-JS Prettify可以一键规范我们的HTML/CSS/JS,甚至JSON格式;SublimeTmpl可以快速新建HTML/CSS/JS文件; ColorPicker用于调用本地调色板功能。这些工具都非常实用,一定程度上可以提高我们的编码效率。

(三)前端自动化

说到提高开发效率,这里不得不提一些前端的自动化工具,毕竟前端自动化是目前及未来的趋势,能够很大程度上缩减前端不必要的工作量,使我们能够专注前端本身。

这里我们可以使用npm来管理我们的项目包文件;利用webpack来打包压缩我们的代码;利用node.js来实现构建本地服务器;利用karma、jasmine来测试我们的前端代码。

用好前端自动化工具可以帮助我们处理很多琐碎的事情,比如一键压缩代码、图片,一键合并JS,检测文件更新等。

(四)前端模块化

实现前端模块化能够方便我们项目代码的维护,实现按需加载,从长远来看对我们提高项目的开发效率是很有帮助的。

在ES6出来之前应该说前端代码本身不具备实现模块的功能,我们必须要使用一些插件库来实现,比如require.js、sea.js等。而随着ES6的普及,目前像require.js、sea.js这样的工具已经没有存在的必要了。所以在基于ES6的开发环境下我建议使用ES6的模块化功能来实现我们的前端模块化。

(五)前端组件化

前端组件化的概念也是由来已久,我们可以通过将我们的代码划分成不同组件来实现公用并方便维护,同样可以提升我们的开发效率。以下是目前流行的前端框架Vue的单文件组件的概念图:

当然除了以上5点,对于前端来说需要提高开发效率的地方还有很多,可谓任重而道远。希望以上几点能够给初识前端的同学带来启发并能够亲自实践。

以上就是我爱编程网小编给大家带来的web前端开发提高性能 web长页面如何优化?,希望能对大家有所帮助。
与“web前端开发提高性能 web长页面如何优化?”相关推荐
web前端开发中页面性能优化 Web前端性能优化的实用技巧汇总
web前端开发中页面性能优化 Web前端性能优化的实用技巧汇总

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

2023-10-12 03:20:19
web前端开发技术表格布局 web长页面如何优化?
web前端开发技术表格布局 web长页面如何优化?

网站前端开发常用的布局方式有哪些实现网页布局的方式方法比较多,布局方式可以大概分为这几类。布局种类:1、table布局(网页的兴起,1995)2、Flash布局(自由的黄金时代,1996)3、div+css(CSS的诞生,1998)4、栅格与响应式(移动端的兴起,2007与2010)当前WEB前端开发使用DIV+CSS的布局方式会比较多也比较常用吧,网页布

2023-10-04 05:47:04
php框架优化性能 提高PHP性能效率的几个技巧
php框架优化性能 提高PHP性能效率的几个技巧

提高PHP性能效率的几个技巧如何提高效率问题,往往同样的功能,不一样的代码,出来的效率往往大不一样。●用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。●如果能将类的方法定

2023-09-20 04:34:23
web前端开发href和src 如何对前端性能进行优化
web前端开发href和src 如何对前端性能进行优化

你遇到的前端面试题都有什么?大家好,我是王我。随着春节的结束,各个行业也普遍开始了上班的节奏,不过本人17号才上班。为什么?因为长得帅的都上班比较晚。当然,每到新年结束,又迎来了一批招聘者与面试者,我来说说作为一年工作经验应该知道的面试题。HTML篇1.doctype是什么?有哪些类型?2.input有哪些新类型?简要说明其8用法。3.HTML5有哪些新特性,

2023-09-30 05:24:26
前端开发web性能优化 Web前端性能优化的实用技巧汇总
前端开发web性能优化 Web前端性能优化的实用技巧汇总

如何进行web前端性能优化?提起Web前端性能优化的问题,前端开发人员非常熟悉,对于一个网站而言,即使内容和功能再优秀,如果用户需要花费很久的时间才能打开,这样迟早会消耗用户的耐心,并最终失去用户。那如何才能优化前端性能?归纳为三步一、关键资源字节数字节数也就是通常说的减少资源文件(js、css、image、video...)的大小。1、压缩前端使用uglif

2023-09-12 11:49:08
web开发前端性能优化 Web前端性能优化的实用技巧汇总
web开发前端性能优化 Web前端性能优化的实用技巧汇总

Web前端性能优化的实用技巧汇总今天小编要跟大家分享的文章是关于Web前端性能优化的实用技巧汇总。javascript在浏览器中运行的性能,可以认为是开发者所面临的最严重的可用性问题。这个问题因为javascript的阻塞性而变得复杂,事实上,多数浏览器使用单一进程来处理用户界面和js脚本执行,所以同一时刻只能做一件事。js执行过程耗时越久,浏览器等待响应的时间越长。一.提高加

2023-09-14 05:49:40
web前端开发中的性能优化 前端性能优化之路——图片篇。
web前端开发中的性能优化 前端性能优化之路——图片篇。

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

2023-10-15 15:10:42
如何提高web前端开发能力 如何做一名优秀的WEB前端工程师
如何提高web前端开发能力 如何做一名优秀的WEB前端工程师

怎么学好web前端开发?现在的Web前端开发不得不说是火透了整个互联网,Web前端、微信、小程序似乎已经是不得不谈的未来趋势。市场火证明未来缺口大,不少人认为学习Web前端开发,高薪指日可待。第一:基础的重要性无论做什么都一定要有扎实的基础,只有基础牢固,才能更深入的学习新技能。Web前端开发的入门门槛其实很低的,与其他语言先慢后快的学习节奏相比,他是一个先快后慢的过程。所以在

2023-10-07 06:53:55