Blame view
src/utils/error-log.js
920 Bytes
d7d9c38c2 auto commit the c... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import Vue from 'vue' import store from '@/store' import { isString, isArray } from '@/utils/validate' import settings from '@/settings' // you can set in settings.js // errorLog:'production' | ['production', 'development'] const { errorLog: needErrorLog } = settings function checkNeed() { const env = process.env.NODE_ENV if (isString(needErrorLog)) { return env === needErrorLog } if (isArray(needErrorLog)) { return needErrorLog.includes(env) } return false } if (checkNeed()) { Vue.config.errorHandler = function(err, vm, info, a) { // Don't ask me why I use Vue.nextTick, it just a hack. // detail see https://forum.vuejs.org/t/dispatch-in-vue-config-errorhandler-has-some-problem/23500 Vue.nextTick(() => { store.dispatch('errorLog/addErrorLog', { err, vm, info, url: window.location.href }) console.error(err, info) }) } } |