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 相关文章推荐
提高 DHTML 页面性能
Dec 25 Javascript
关于JavaScript中var声明变量作用域的推断
Dec 16 Javascript
Javascript处理DOM元素事件实现代码
May 23 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
AngularJS的一些基本样式初窥
Jul 27 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
JavaScript判断按钮被点击的方法
Dec 13 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
Nov 10 Javascript
使用D3.js制作图表详解
Aug 13 Javascript
基于Swiper实现移动端页面图片轮播效果
Dec 28 Javascript
关闭Vue计算属性自带的缓存功能方法
Mar 02 Javascript
详解JavaScript作用域 闭包
Jul 29 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
PHP5 安装方法
2007/01/15 PHP
一篇不错的PHP基础学习笔记
2007/03/18 PHP
Laravel框架表单验证详解
2014/09/04 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
目前最全的python的就业方向
2018/06/05 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
python3注册全局热键的实现
2020/03/22 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
森林防火标语
2014/06/23 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python