美文网首页前端
页面性能优化方法

页面性能优化方法

作者: agamgn | 来源:发表于2020-02-04 07:44 被阅读0次

前言

 页面的性能优化是面试和工作中常见到的问题,试想,若网页迟迟加载不出来,作为使用者会是怎样的感受,页面性能优化的重要性可见一斑。

一、资源压缩和合并

 资源压缩可以从文件中去掉多余的字符,比如回车、空格。

1.1、html压缩

 html代码压缩就是压缩这些在文本文件中有意义,但是在HTML中不显示的字符,包括空格,制表符,换行符等,还有一些其他意义的字符,如HTML注释也可以被压缩。
例如,压缩前:

<div>
<h2>title</h2>
<p>agamgn</p>
</div>

压缩后:

<div><h2>title</h2><p>agamgn</p></div>          

如何压缩

1.2、css代码压缩

 css代码压缩简单来说就是无效代码删除和css语义合并。
如何压缩

  • 使用在线网站进行压缩(同HTML)。
  • 使用node提供的html-minifier进行压缩。
  • 使用clean-css
    对css压缩。

1.3、JavaScript的压缩和混乱

 js的压缩和混乱主要包括以下这几部分:

  • 无效字符的删除
  • 剔除注释
  • 代码语义的缩减和优化
  • 代码保护(代码逻辑变得混乱,降低代码的可读性,这点很重要)

如何进行js的压缩和混乱

  • 使用在线网站进行压缩(同HTML)
  • 使用html-minifier工具
  • 使用uglifyjs2
    对js进行压缩

二、利用浏览器缓存

 对于web应用来说,缓存是提升页面性能同时减少服务器压力的利器。
关于浏览器缓存请参考浏览器缓存

三、使用CDN

 大型Web应用对速度的追求并没有止步于仅仅利用浏览器缓存,因为浏览器缓存始终只是为了提升二次访问的速度,对于首次访问的加速,我们需要从网络层面进行优化,最常见的手段就是CDN(Content Delivery Network,内容分发网络)加速。通过将静态资源(例如javascript,css,图片等等)缓存到离用户很近的相同网络运营商的CDN节点上,不但能提升用户的访问速度,还能节省服务器的带宽消耗,降低负载。

四、使用异步加载方式

 对于非核心代码使用异步加载能提高页面的性能

4.1、async方式

  • async属性是HTML5新增属性,需要Chrome、FireFox、IE9+浏览器支持
  • async属性规定一旦脚本可用,则会异步执行
  • async属性仅适用于外部脚本
  • 如果是多个脚本,该方法不能保证脚本按顺序执行
<script type="text/javascript" src="xxx.js" async="async"></script>

4.2、defer方式

  • 兼容所有浏览器
  • defer属性规定是否对脚本执行进行延迟,直到页面加载为止
  • 如果是多个脚本,该方法可以确保所有设置了defer属性的脚本按顺序执行
  • 如果脚本不会改变文档的内容,可将defer属性加入到script标签中,以便加快处理文档的速度

4.3、动态创建script标签

在还没定义defer和async前,异步加载的方式是动态创建script,通过window.onload方法确保页面加载完毕再将script标签插入到DOM中,具体代码如下:

function addScriptTag(src){  
    var script = document.createElement('script');  
    script.setAttribute("type","text/javascript");  
    script.src = src;  
    document.body.appendChild(script);  
}  
window.onload = function(){  
    addScriptTag("js/index.js");  
}  

五、参考文章

相关文章

  • iOS性能优化之页面加载速率

    iOS性能优化之页面加载速率 iOS性能优化之页面加载速率

  • 页面性能优化方法

    前言  页面的性能优化是面试和工作中常见到的问题,试想,若网页迟迟加载不出来,作为使用者会是怎样的感受,页面性能优...

  • 前端工程师面试题(性能优化)

    1. 性能优化1 1.1 页面重构怎么操作? 1.2 什么叫优雅降级和渐进增强? 1.3 前端性能优化的方法? (...

  • 性能优化

    请说出三种减少页面加载时间和性能优化,文件资源优化的方法?

  • 2020 前端 React 面试

    性能优化 性能优化,永远是面试的重点,性能优化对于 React 更加重要 在页面中使用了setTimout()、a...

  • web页面性能优化以及SEO

    web页面性能优化能够提高页面加载速度,提升用户体验度,基于三秒法则,每个网站都极力优化页面性能。 SEO(Sea...

  • App页面性能优化 -- Core Animation篇

    写在前面 什么时候需要考虑页面性能问题 如何进行页面性能评估 如何具体实施性能优化 PS: 任何提前优化都是魔鬼 ...

  • 前端性能初步优化

    性能优化有两个方向 优化页面渲染 减小页面体积,提升网络加载 优化页面渲染 对于优化页面渲染可以进行如下方案来进行...

  • 深入浅出React和Redux学习笔记(五)

    React组建的性能优化 性能优化的方法: 单个React组件的性能优化; 多个React组件的性能优化; 利用r...

  • 前端面试2021年5月11号

    前端优化性能方面:答:一、页面/文件级优化1、减少HTTP请求数 解决方法:1)设置缓存2)css、js、img等...

网友评论

    本文标题:页面性能优化方法

    本文链接:https://www.haomeiwen.com/subject/olfezctx.html