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 相关文章推荐
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
Sep 08 Javascript
使用隐藏的new来创建对象
Mar 29 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
JavaScript编写简单的计算器
Nov 25 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
Feb 12 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
基于node.js实现爬虫的讲解
Feb 18 Javascript
JavaScript如何把两个数组对象合并过程解析
Oct 10 Javascript
js实现扫雷源代码
Nov 27 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
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
2015/11/27 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
dojo 之基础篇
2007/03/24 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
javascript的push使用指南
2014/12/05 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python enumerate内置函数用法总结
2020/01/07 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
计算机专业学生的自我评价
2013/12/15 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
三八节活动简报
2015/07/20 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python