最近要做一個vue項目的監控,來實時監聽正式環境的異常,並且快速響應進行bug修改,其實vue項目報錯主要從下面三個方法進行錯誤收集
1.
window.addEventListener('unhandledrejection', event => {
event.promise.catch((e) => {
utils.errorCatch(e, 3)
})
})
2.
window.onerror = function (errorMessage, scriptURI, lineNo, columnNo, error) {
// 記錄堆棧信息
if (error) {
error.url = error.stack
}
utils.errorCatch(error, 4)
}
3.
Vue.config.errorHandler = function (err, vm, info) {
if (err) {
err.url = err.stack
}
utils.errorCatch(err, 5) // 發送請求給后端進行保存
}
使用上面三個方法就能捕獲收集絕多數的js報錯,然后可以展示成一個列表供篩選如下:
