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 相关文章推荐
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
Aug 23 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
JS实现静止元素自动移动示例
Apr 14 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
Apr 16 Javascript
动态加载js、css的简单实现代码
May 26 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
Aug 02 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
Nov 15 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
Nov 30 Javascript
webpack结合express实现自动刷新的方法
May 07 Javascript
vue中使用elementUI组件手动上传图片功能
Dec 13 Javascript
jQuery中event.target和this的区别详解
Aug 13 jQuery
electron踩坑之remote of undefined的解决
Oct 06 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实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
php中的常用魔术方法总结
2013/08/02 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
vue中添加mp3音频文件的方法
2018/03/02 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
Python实现一个简单的MySQL类
2015/01/07 Python
用实例分析Python中method的参数传递过程
2015/04/02 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
Python3实现定时任务的四种方式
2019/06/03 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
python自动生成model文件过程详解
2019/11/02 Python
Django权限设置及验证方式
2020/05/13 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
超市商业计划书
2014/05/04 职场文书
党员演讲稿
2014/09/04 职场文书
七一建党日演讲稿
2014/09/05 职场文书
工作表扬信范文
2015/01/17 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
配置nginx 重定向到系统维护页面
2021/06/08 Servers
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
2021/07/26 Java/Android
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android