详解Web前端性能优化详解之资源合并与压缩

所属分类: 网页制作 / 应用技巧 阅读数: 867
收藏 0 赞 0 分享

资源合并与压缩两个目的

  1. 减少http请求数量
  2. 减少请求资源的大小

google首页案例学习

  1. html压缩
  2. css压缩
  3. js的压缩
  4. 文件合并
  5. 开启 gzip

一、html 压缩

图一是新浪的首页显示是没有压缩的,图二的谷歌的首页是经过压缩的。

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

如何进行 html 压缩

  1. 使用在线网站进行压缩
  2. nodejs提供了 html-minifier 工具
  3. 后端模板引擎渲染压缩

二、html 压缩

  1. 无效代码删除
  2. css 语义合并

如何进行 html 压缩

  1. 使用在线网站进行压缩
  2. 使用 html-minifier 对 html 中的css进行压缩
  3. 使用 clean-css 对css进行压缩

三、Js 压缩与混乱

  1. 无效字符的删除
  2. 剔除注释
  3. 代码语义的缩减和优化
  4. 代码保护

如何进行 js 压缩和混乱

  1. 使用在线网站进行压缩
  2. 使用 html-minifier 对 html 中的 js 进行压缩
  3. 使用uglifyjs2 对 js进行压缩

三、文件合并

文件合并与不合并对比

  1. 文件与文件之间有插入的上行请求,增加了 N-1 个网络延迟
  2. 受丢包问题影响更严重
  3. 经过代理服务器可能会被断开

文件合并存在的问题:

  1. 首屏渲染问题
  2. 缓存失效问题

解决文件合并存在的问题:

  1. 公共库合并
  2. 不同页面的合并
  3. 见机行事,随机应变

如何进行 js 压缩和混乱

  1. 使用在线网站进行压缩
  2. 使用 nodejs 实现合并

图片相关的优化
png8/png24/png32之间的区别

  1. png8 —— 256色 + 支持透明
  2. png24 —— 2^24色 + 不支持透明
  3. png32 —— 2^24色 + 支持透明
每种图片格式都有自己的特点,针对不同的业务场景选择不同的图片格式很重要

不同格式图片常用的业务场景

  1. jpg —— 大部分不需要透明图片的业务场景
  2. png 支持透明,浏览器兼容好
  3. webp压缩程度更好,在 ios webview 有兼容性疸
  4. svg 矢量图,代码内嵌,相对较少,图片样式相对简单的场景

不同格式图片常用的业务场景

  1. jpg —— 大部分不需要透明图片的业务场景
  2. png —— 大部分需要透明图片的业务场景
  3. webp —— 安卓全部
  4. svg矢量图 —— 图片样式相对简单的业务场景

进行图片压缩

针对真实图片情况,舍弃一些相对无关紧要的色彩信息

CSS雪碧图

把你的网站上用到的一些图片整合到一张单独的图片中

优点

减少你的网站的HTTP请求数量

缺点

整合图片比较大时,一次加载 比较慢

Image inline

将图片的内容内嵌到html当中,减少你的网站的HTTP请求数量

在安卓下使用webp

WebP 的优势体现在它具有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEG 和 PNG 上的转化效果都非常优秀、稳定和统一。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

出色的美工/网页设计人员需要掌握的7项技能

在互联网这行也有几年经验了,作为程序开发,经常和前端开发打交道,从和他们合作的过程中,我对美工或者网页设计有些认识,如何成为一个出色的,出类拔萃的前端开发,我觉得应该要做到下面7点
收藏 0 赞 0 分享

网页设计师需要的知识体系有哪些

设计师需要哪些体系呢
收藏 0 赞 0 分享

从四个方面谈谈Web标准的价值所在 附思维导图

清清楚楚的明白Web标准的价值!Web标准的价值相信没人会不知道,不理睬。可是具体能做什么,能不能很好的作为一个规范或者指标去诊断网站存在的问题,能不能列出一张清单,清清楚楚地看到它的价值呢
收藏 0 赞 0 分享

为什么要少用Iframe的几个原因分析

iframes 提供了一个简单的方式把一个网站的内容嵌入到另一个网站中。但我们需要慎重的使用iframe。iframe的创建比其它包括scripts和css的 DOM 元素的创建慢了 1-2 个数量级
收藏 0 赞 0 分享

百度网盟环境下的广告投放技巧(图文教程)

百度的广告投放是有技巧的.我们来谈一下吧
收藏 0 赞 0 分享

10件优秀Web开发者提升开发能力必知的事

开发工作不仅仅只是写代码,这句话来自3EV网站的Dan Frost,他在一篇文章中阐述了开发过程中应该注意的一些事项
收藏 0 赞 0 分享

不是中国才有的特色:文化差异下的网页开发

这是一篇老外写的博客,详述了他眼中因文化差异导致的网页开发问题。“特色”并不是只有中国才有,或许作为中国的设计师,也需要考虑到印尼特色、新加坡特色……
收藏 0 赞 0 分享

负距离(换位思考)-相互影响的迭代过程

产品经理把握功能 功能-指事物或方法所发挥的有利作用 .比如实用性,操作性
收藏 0 赞 0 分享

谈谈设计中的用户体验背后的8个用户本能

用户体验背后有哪些用户本能呢
收藏 0 赞 0 分享

交互设计中关于是选择分页还是加载的问题讲解

一篇文章是分页还是全捕出来是一个问题
收藏 0 赞 0 分享
查看更多