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 相关文章推荐
让任务管理器中的CPU跳舞的js代码
Nov 01 Javascript
JavaScript 常用函数
Dec 30 Javascript
Javascript图像处理思路及实现代码
Dec 25 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
js+html5生成自动排列对话框实例
Oct 09 Javascript
AngularJS下$http服务Post方法传递json参数的实例
Mar 29 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
Sep 27 Javascript
Vue 中使用 typescript的方法详解
Feb 17 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
Mar 12 Javascript
Vue中通过vue-router实现命名视图的问题
Apr 23 Javascript
js基础语法与maven项目配置教程案例
Jul 15 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
jQuery学习基础知识小结
2010/11/25 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
python如何将图片转换为字符图片
2020/08/19 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
Django静态文件加载失败解决方案
2020/08/26 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
终端业务员岗位职责
2013/11/27 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
给校长的建议书300字
2014/05/16 职场文书
个人安全生产责任书
2014/07/28 职场文书
领导干部“四风”查摆问题个人整改措施
2014/10/28 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS