京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2835|回复: 0

前端性能优化

[复制链接]

13

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2019-5-19 01:59:46 | 显示全部楼层 |阅读模式 来自 中国
前端从环境搭建, 打包工具配置, 框架选型, 业务编码, 一直到发布上线后的用户数据监控整个生产链上涉及到的方面很多, 为了提高开发体验和用户体验, 前端可以进行很方面的优化, 本结前端优化特指为了提高前端上线后的用户体验而进行页面性能优化这块, 就是让用户等的时间短,尽快的可以进行页面交互.用公式记录一下:
# e  _  N- v$ K% l! ?) E优化 = 性能优化 + ...
6 w* _' q3 |6 Q. a: D性能优化 = 用户体验 + ... 4 C* T4 @& _9 u/ P) f
性能度量
  m+ Y0 \4 [) v有人做了下面一个表格4 }" |" a( I, t! j
用户体验描述7 b/ m! X. J! y9 n/ p3 R
为了更好的用户体验, 我们从网页加载和渲染两个维度进行优化, 公式:
: x. B0 D$ f: Q. M  [0 {用户体验 = 加载性能 + 渲染性能 + ...( n6 p) y+ Z7 e" ~9 _$ O+ Q# }
性能监控0 A; \  r, M- v; e
性能监控是性能优化的第一步,至关重要,因为只有性能监控才能找到性能瓶颈,然后会对性的进行优化.
4 K2 m8 w: q* W监控工具: Lighthouse0 z/ j0 R+ k6 E( c* B6 g. T8 B
Lighthouse是一个Google开源的自动化工具,主要用于改进网络应用(移动端)的质量。目前测试项包括页面性能、PWA、可访问性(无障碍)、最佳实践、SEO。Lighthouse会对各个测试项的结果打分,并给出优化建议,这些打分标准和优化建议可以视为Google的网页最佳实践。
' j6 }; X# R$ \$ z0 N0 @1 nLighthouse 三种使用方法:
  M/ A9 z$ y* Q% w) M+ j1. Chrome60及以上的开发者工具的audits面板还不是Lighthouse。8 c* B( k! q3 [
2. Chrome拓展程序
8 }4 N" Y- d5 W0 x6 ~! d) T3. 命令行工具 npm install -g lighthouse or yarn global add lighthouse
) b! e3 k1 c. T- gLighthouse 原理:
. \9 ~* h5 W7 K" h( P关于前端性能指标,W3C 定义了强大的Performance API,其中又包括了 High Resolution Time 、 Frame Timing 、 Navigation Timing 、 Performance Timeline 、Resource Timing 、 User Timing 等诸多具体标准. User Timing 、Navigation Timing 以及 Resource Timing。截至到 2018 年中旬,各大主流浏览器均已完成了基础实现. 而 Lighthouse 主要使用设备Chrome浏览器新的API PerformanceObserver, PerformanceEntry, 以及 DOMHighResTimeStamp 等.
' v( [: A9 }" K: ]
' E) |! M4 `7 Z& ?# H' M, d性能优化; m" \# s7 Q& q5 {- o
分析监控数据,就可以针对性地对网页进行优化, 下面是具有普适性的参考优化点, 在平时的开发中应该多多注意" F, N- t; U3 ]
加载优化/ R9 L7 K- _8 ^0 z1 ?9 i9 G$ ~
网页资源加载即客户端展示的所有数据加载, 包括 静态资源 及 动态数据& `/ U; T) r* v$ t# _& s7 S; i
1. 静态资源
8 R  N! N' P9 b( e' j9 P7 Ka) Js css img等合并压缩和雪碧图( }( b5 Z: b1 B# {" l
b) cdn内容分发, b' D) e( g" u  g- o( X" S
c) 各种缓存(dns缓存,ip缓存, 服务器缓存, 客户端缓存)& l2 J1 }3 D2 t" H. u
d) 内容分片. U! M1 O4 r4 J" n( C5 w: B0 \# I
e) 协议(http2)
& g- P8 p: }3 Q. M, D2. 业务数据
" w) [0 s: }5 S  ]3 e$ |a) spa首屏直出(ssr或骨架屏或预渲染)) b9 m" U+ b, I8 P  m
b) 接口合并
* }& {1 x7 O8 I: q: ^/ o4 F2 h渲染优化6 [/ o, g' r3 h# X3 y, F9 w) p
网页渲染+ q/ [: c) q* W1 Z- d2 W, C* }/ o! [3 [
1. 防止阻塞渲染
: z) v+ K0 M+ W2 Y1 f5 M3 H* g2. 减少重绘和回流
+ g$ f# ]+ R& U6 a% r$ v3. 提高代码质量+ T6 g5 n9 A0 O( x
6 a% _& o, h! K0 t; `8 Z
来源:https://www.toutiao.com/a6692409042528109064/: x1 o+ R+ o" v" C+ c
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

帖子地址: 

梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2026-9-16 10:28 , Processed in 0.044893 second(s), 27 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表