如何测量vue应用运行时的性能


Posted in Javascript onJune 21, 2019

在上一篇文章中,我们讨论了如何提高大型数据的性能。但是我们还没有测量它提高了多少。

我们可以使用Chrome DevTools 的性能选项来实现这一点。但是为了获取准确数据,我们必须在Vue上激活性能模式。

我们可以在main.js或者插件中设置全局变量,代码如下:

Vue.config.performance = true;

如果你设置了正确的 NODE_ENV 环境变量,那么可以使用非生产环境做判断。

const isDev = process.env.NODE_ENV !== "production";
Vue.config.performance = isDev;

这将在Vue内部激活标记组件性能的User Timing API

上一篇文章内容,我已经在codesandbox上创建了代码。打开 Chrome DevTools 里的 performance 选项并且点击重新加载按钮。

如何测量vue应用运行时的性能

这将记录页面加载性能。同时,感谢你在main.js中的Vue.config.performance设置,这个设置会使你在统计资料能够看到User Timing部分。

如何测量vue应用运行时的性能

在哪里,你会发现3个指标:

  • Init:创建组件实例需要的时间
  • Render:创建VDom结构需要的时间
  • Patch:把VDom应用到实际Dom的时间

回到上一篇文章好奇(性能提高了多少)的地方,结果是:正常的组件需要417毫秒初始化:

如何测量vue应用运行时的性能

而使用Object.freeze阻止了默认反应则只需要3.9毫秒:

如何测量vue应用运行时的性能

当然,每次运行的结果都会有小的变化,但是,仍然有非常巨大的性能差别。由于在创建组件的时候会有默认反应的问题,你可以通过Init(初始化指标)看到阻止了默认反应和没有阻止的差异。

就是这样!

我的理解

vue项目,我们可以通过在全局main.js设置Vue.config.performance为true来开启性能检测,可以通过环境变量来区分是否需要开启,然后就可以通过Chrome DevTools里的 performance 选项去看统计的性能数据。

结尾

水平有限,难免有错漏之处,望各位大大轻喷的同时能够指出,跪谢!

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

Javascript 相关文章推荐
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
javascript中[]和{}对象使用介绍
Mar 20 Javascript
JavaScript中的分号插入机制详细介绍
Feb 11 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
Nov 17 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
原生js实现图片层叠轮播切换效果
Feb 02 Javascript
JS简单实现浮动窗口效果示例
Sep 07 Javascript
Html5 js实现手风琴效果
Apr 17 Javascript
微信小程序 五星评分的实现实例
Aug 04 Javascript
微信小程序 搜索框组件代码实例
Sep 06 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
Sep 17 Javascript
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
Vue组件之高德地图地址选择功能的实例代码
Jun 21 #Javascript
如何提升vue.js中大型数据的性能
Jun 21 #Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
Jun 21 #Javascript
微信小程序实现点击效果
Jun 21 #Javascript
JS利用prototype给类添加方法操作详解
Jun 21 #Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
Jun 21 #Javascript
微信小程序实现弹出菜单动画
Jun 21 #Javascript
You might like
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
php绘制一条直线的方法
2015/01/24 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
vue组件与复用详解
2018/04/08 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
Python网络编程详解
2017/10/31 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
详解Python self 参数
2019/08/30 Python
500行python代码实现飞机大战
2020/04/24 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
手工制作的豪华英式沙发和沙发床:Willow & Hall
2019/05/03 全球购物
自我评价的写作规则
2014/01/06 职场文书
给酒店员工的表扬信
2014/01/11 职场文书
优秀教师获奖感言
2014/01/31 职场文书
学用政策心得体会
2014/09/10 职场文书
领导干部考核评语
2015/01/04 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书