摘要: 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
Fundebug做爲最專業的 BUG(錯誤)監控服務平臺,已經服務數千家企業,數萬名開發者。據統計,全部的前端項目中,有22.5%使用 Vue.js 開發。以前有使用 Vue.js 框架開發的客戶反饋有 bug 監控不到。這次 Vue.js 更新,咱們對JavaScript 的監控插件作了相應的更新,來更好地支持使用 Vue.js 框架開發的應用錯誤的監控。java
咱們使用經典的 todoMVC 項目來進行測試。ios
首先接入 Fundebug 監控插件,在 Fundebug 官網建立一個 Vue.js 監控項目。npm
接下來根據接入代碼,安裝 Fundebug JavaScript 和 Vue 插件:json
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須要免費註冊賬號而且建立項目。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 成功捕獲該錯誤:
經過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專一於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/