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 使用手册(四)
Sep 23 Javascript
ie下$.getJSON出现问题的解决方法
Feb 12 Javascript
一个JavaScript处理textarea中的字符成每一行实例
Sep 22 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
JS上传组件FileUpload自定义模板的使用方法
May 10 Javascript
vue组件实现文字居中对齐的方法
Aug 23 Javascript
Vue-不允许嵌套式的渲染方法
Sep 13 Javascript
layui的表单提交以及验证和修改弹框的实例
Sep 09 Javascript
Vue中keep-alive组件作用详解
Feb 04 Javascript
node.js中npm包管理工具用法分析
Feb 14 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 Javascript
详解Vue 的异常处理机制
Nov 30 Vue.js
详解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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
joomla内置的表单验证功能使用方法
2010/06/11 PHP
PHP图片上传代码
2013/11/04 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
浅谈python import引入不同路径下的模块
2017/07/11 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
python 获取等间隔的数组实例
2019/07/04 Python
简单了解python的内存管理机制
2019/07/08 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
大学生简历的个人自我评价
2013/12/04 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
中央空调节能方案
2014/06/15 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
民间借贷被告代理词
2015/05/23 职场文书
婚庆司仪开场白
2015/05/29 职场文书