Vue.js@2.6.10更新內置錯誤處機制,Fundebug同步支持相應錯誤監控

摘要: Fundebug 的 JavaScript 錯誤監控插件同步支持 Vue.js 異步錯誤監控。javascript

Vue.js 從誕生至今已經 5 年,尤大在今年 2 月份發佈了重大更新,即Vue 2.6。更新包括新增 scoped slot 語法、性能提高、動態指令參數等等。其中咱們最關注的是錯誤處理html

異步錯誤處理

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();
    }
};

根據官方介紹,錯誤處理的改進包括兩個方面:vue

  • 捕獲 v-on 處理程序內部的錯誤
  • 異步 Promise 錯誤

Fundebug做爲最專業的 BUG(錯誤)監控服務平臺,已經服務數千家企業,數萬名開發者。據統計,全部的前端項目中,有22.5%使用 Vue.js 開發。以前有使用 Vue.js 框架開發的客戶反饋有 bug 監控不到。這次 Vue.js 更新,咱們對JavaScript 的監控插件作了相應的更新,來更好地支持使用 Vue.js 框架開發的應用錯誤的監控。java

錯誤監控測試(TodoMVC)

1. 經過 v-on 定義事件

咱們使用經典的 todoMVC 項目來進行測試。ios

首先接入 Fundebug 監控插件,在 Fundebug 官網建立一個 Vue.js 監控項目。npm

接下來根據接入代碼,安裝 Fundebug JavaScript 和 Vue 插件:json

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須要免費註冊賬號而且建立項目axios

而後,咱們對右下角的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觸發報錯:

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 的 JavaScript 監控插件支持 Vue.js 項目中v-on和異步錯誤的監控。

關於Fundebug

Fundebug專一於JavaScript、微信小程序、微信小遊戲、支付寶小程序、React Native、Node.js和Java線上應用實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了10億+錯誤事件,付費客戶有Google、360、金山軟件、百姓網等衆多品牌企業。歡迎你們免費試用

版權聲明

轉載時請註明做者Fundebug以及本文地址:https://blog.fundebug.com/2019/05/13/fundebug-support-vue-2-6-10/

相關文章
相關標籤/搜索