Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控


Posted in Javascript onMay 13, 2019

Vue.js 从诞生至今已经 5 年,尤大在今年 2 月份发布了重大更新,即Vue 2.6。更新包括新增 scoped slot 语法、性能提升、动态指令参数等等。其中我们最关注的是错误处理。

异步错误处理

Vue 的内置错误处理机制(组件内 errorCaptured hook 和全局 errorHandler hook)现在也会捕获 v-on 处理程序内部的错误。此外,如果任意一个生命周期 hook 或事件处理程序执行了异步操作,现在可以从函数中返回一个 Promise,Promise 链中任何一个未被捕获的错误都会被发送给错误处理程序。如果使用了 async/await,则会变得更加容易,因为异步函数隐式返回 Promise:

export default {
 async mounted() {
 // if an async error is thrown here, it now will get
 // caught by errorCaptured and Vue.config.errorHandler
 this.posts = await api.getPosts();
 }
};

根据官方介绍,错误处理的改进包括两个方面:

捕获 v-on 处理程序内部的错误异步 Promise 错误

Fundebug作为最专业的 BUG(错误)监控服务平台,已经服务数千家企业,数万名开发者。据统计,所有的前端项目中,有22.5%使用 Vue.js 开发。之前有使用 Vue.js 框架开发的客户反馈有 bug 监控不到。此次 Vue.js 更新,我们对JavaScript 的监控插件做了相应的更新,来更好地支持使用 Vue.js 框架开发的应用错误的监控。

错误监控测试(TodoMVC)

1. 通过 v-on 定义事件

我们使用经典的 todoMVC 项目来进行测试。

首先接入 Fundebug 监控插件,在 Fundebug 官网创建一个 Vue.js 监控项目。

Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控

接下来根据接入代码,安装 Fundebug JavaScript 和 Vue 插件:

通过npm安装fundebug-javascript与fundebug-vue

npm install fundebug-javascript fundebug-vue --save

配置apikey

import * as fundebug from "fundebug-javascript";
import fundebugVue from "fundebug-vue";
fundebug.apikey = "API-KEY";
fundebugVue(fundebug, Vue);

其中,获取apikey需要免费注册帐号并且创建项目。

然后,我们对右下角的Clear Completed按钮对应的代码进行更改,通过v-on来定义点击事件,然后对应的deleteCompleted函数故意将todos写成todo

<button class="clear-completed" v-show="completed" v-on:click="deleteCompleted">
 Clear Completed
</button>
 deleteCompleted() {
 this.todos = this.todo.filter(todo => !todo.completed);
 }

点击Clear Completed触发报错:

Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控

Fundebug 成功捕获该错误:

Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控

2. 异步 Promise 错误

通过axios发送一个 GET 请求获取数据,然后将返回数据处理。假定不小心将data写成了date,那么data.length会触发错误。

deleteCompleted() {
 return axios
 .get("https://jsonplaceholder.typicode.com/todos/")
 .then(response => {
  let data = response.date;
  let len = data.length;
 });
}

程序运行后,Fundebug 成功捕获该错误:

Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控

总结

Vue.js 更新到 2.6.10,对错误处理提供了更加强大的支持。Fundebug 的 JavaScript 监控插件支持 Vue.js 项目中v-on和异步错误的监控。

以上所述是小编给大家介绍的Vue.js@2.6.10更新内置错误处理机制Fundebug同步支持相应错误监控,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
基于jQuery图片平滑连续滚动插件
Apr 27 Javascript
js+html+css实现鼠标移动div实例
Jan 30 Javascript
JQuery动画与特效实例分析
Feb 02 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
JS实现来回出现文字的状态栏特效代码
Oct 31 Javascript
打造自己的jQuery插件入门教程
Sep 23 Javascript
jquery实现弹窗功能(窗口居中显示)
Feb 27 Javascript
Vuejs实现购物车功能
Nov 05 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
javascript中innerHTML 获取或替换html内容的实现代码
Mar 17 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
Apr 28 Javascript
详解async/await 异步应用的常用场景
May 13 #Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 #Javascript
JavaScript Math对象和调试程序的方法分析
May 13 #Javascript
jsonp跨域获取百度联想词的方法分析
May 13 #Javascript
基于Fixed定位的框选功能的实现代码
May 13 #Javascript
JQuery事件委托原理与用法实例分析
May 13 #jQuery
使用原生js编写一个简单的框选功能方法
May 13 #Javascript
You might like
PHP中require和include路径问题详解
2014/12/25 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
jQuery使用手册之一
2007/03/24 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
Python采用Django制作简易的知乎日报API
2016/08/03 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
解决PyCharm中光标变粗的问题
2017/08/05 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
pymongo中group by的操作方法教程
2019/03/22 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
python ETL工具 pyetl
2020/06/07 Python
python与idea的集成的实现
2020/11/20 Python
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
酒店总经理欢迎词
2014/01/15 职场文书
心理健康日活动总结
2014/05/08 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
三年级学生期末评语
2014/12/26 职场文书
齐云山导游词
2015/02/06 职场文书
教师考核表个人总结
2015/02/12 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
小学课改工作总结
2015/08/13 职场文书
python程序的组织结构详解
2021/12/06 Python