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 分页插件的改造方法(服务器端分页)
Jul 11 Javascript
js弹出层之1:JQuery.Boxy (二)
Oct 06 Javascript
js将json格式内容转换成对象的方法
Nov 01 Javascript
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
JS实现键值对遍历json数组功能示例
May 30 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
Oct 09 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
Feb 20 Javascript
如何使用Javascript中的this关键字
May 28 Javascript
JS相册图片抖动放大展示效果的示例代码
Jan 29 Javascript
如何用JS实现网页瀑布流布局
Apr 24 Javascript
quickjs 封装 JavaScript 沙箱详情
Nov 02 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
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python使用wxPython实现计算器
2018/01/30 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
Sanic框架应用部署方法详解
2018/07/18 Python
python的常用模块之collections模块详解
2018/12/06 Python
Flask之请求钩子的实现
2018/12/23 Python
python基础知识(一)变量与简单数据类型详解
2019/04/17 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
Python帮你识破双11的套路
2019/11/11 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Python如何将字符串转换为日期
2020/07/31 Python
python wsgiref源码解析
2021/02/06 Python
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
专科文秘应届生求职信
2013/11/18 职场文书
会计实习生自我鉴定
2013/12/12 职场文书
财务个人年度总结范文
2015/02/26 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
react 路由Link配置详解
2021/11/11 Javascript