Vue 应用程序有一个全局配置 Vue.config,可以配置禁止日志和告警、devtools、错误处理程序等等。
devtools属性
配置是否允许 vue-devtools 检查代码
Vue.config.devtools=false
silent属性
接收一个boolean类型的值,默认false,当设置成true时,表示取消所有的日志和警告信息,一般保持默认不设置,有助于代码调试
Vue.config.silent=true
如:vue中使用不存在的变量没有使用silent就会报错
errorHandler属性
/**
*
* @param {*} error 错误跟踪
* @param {*} vm 组件错误
* @param {*} info 特定的错误信息,如生命周期钩子、事件等。
*/
Vue.config.errorHandler = (error, vm, info) => {
console.info(error);
console.info(vm);
console.info(info);
};
处理程序包含 3 个参数:
error:完整的错误跟踪,包含 message 和 error stack
vm:发生错误的Vue组件/实例
info: 特定的错误信息,例如生命周期钩子、事件等。
Vue.config.errorHandler 捕获特定于Vue实例的错误,但无法捕获 Vue 实例之外的错误,如服务。
要捕获 Vue 实例之外的错误,可以使用 window.onerror 事件,可以注册一个错误处理函数,该函数将捕获所有非特定于 Vue 实例的未处理异常。下面的代码片段为其应用注册
window.onerror 异常处理函数:
window.onerror = function(message, source, lineno, colno, error) {
// TODO: 定义跟踪逻辑
};
Vue [ob: Observer]取不到值问题的解决