前端性能优化(一)雅虎军规
雅虎军规
- 内容主体:
- 尽量减少HTTP请求数
- 减少DNS查找
- 避免重定向
- 让Ajax可缓存
- 延迟加载组件
- 预加载组件
- 减少DOM元素的数量
善用css伪类
按需加载,减少不必要的渲染
结构合理,语义化标签 - 跨域分离组件
分离组件可以最大化并行下载,但要确保只用不超过2-4个域,因为存在DNS查找的代价。 - 尽量少用iframe
- 杜绝404
- css部分:
- 把样式表放在顶部
- 避免使用CSS表达式
- 选择
<link>
舍弃@import
- 避免使用滤镜
- js部分:
- 去除重复脚本
- 尽量减少DOM访问
- 用智能的事件处理器
事件委托 - 把脚本放在底部
5-6个script请求,每个文件大小gzip后30kb左右
- javascript, css部分:
- 把JavaScript和CSS放到外面
- 压缩JavaScript和CSS
- 图片
- 优化图片
- 优化CSS Sprite
- 不要用HTML缩放图片
- 用小的可缓存的favicon.ico(P.S. 收藏夹图标)
svg图片的使用;CSS Sprites(雪碧图/精灵图);tinypngjs(图片压缩工具)
- cookie
- 给cookie减肥
- 把组件放在不含cookie的域下
- 移动端
- 保证所有组件都小于25K
这个限制是因为iPhone不能缓存大于25K的组件 - 把组件打包到一个复合文档里
- 服务器
- Gzip组件
- 避免图片src属性为空
- 配置ETags
- 对Ajax用GET请求
- 尽早清空缓冲区
- 使用CDN(内容分发网络)
- 添上Expires或者Cache-Control HTTP头
- 本文标题:前端性能优化(一)雅虎军规
- 本文作者:乔文飞
- 创建时间:2020-07-21 08:40:57
- 本文链接:http://www.feidom.com/2020/07/21/前端性能优化(一)雅虎军规/
- 版权声明:本博客所有文章为作者学习笔记,有转载其他前端大佬的文章。转载时请注明出处。