Vuejs,在生产模式下捕获警告

时间:2018-04-27 09:43:18

标签: vue.js vuejs2

我们的应用程序使用来自magento的模板,有时会触发错误(例如错误的道具或特殊字符)。 这些错误将在生产模式中静音。

但我们应该通过TrackJs跟踪它。 那么,是否有可能在生产模式中捕获警告?

警告示例:

  

[Vue警告]:编译模板时出错:

1 个答案:

答案 0 :(得分:1)

当Vue在生产模式下运行时,所有错误都是隐藏的bij设计,这不是可以通过运行开发版本来改变的东西。这背后的原因是在内部制作中,理想情况下应该使用构建工具或自定义后端预编译所有模板。

在开发中,您可以在Vue配置中使用errorHandlerwarnHandler

Vue.config.errorHandler = function (err, vm, info) {
    // handle error
    // `info` is a Vue-specific error info, e.g. which lifecycle hook
    // the error was found in. Only available in 2.2.0+
    console.log('Custom vue error handler: ', err, vm.name, info);
};
Vue.config.warnHandler = function (err, vm, info) {
    // handle error
    // `info` is a Vue-specific error info, e.g. which lifecycle hook
    // the error was found in. Only available in 2.2.0+
    console.log('Custom vue warn handler: ', err, vm.name, info);
};

// Prevent vue from spamming the console with "helpful" tips
Vue.config.productionTip = false;

var app = new Vue({
    el: '#app',
    name: 'main',
    template: '<div></div><div></div>',
    data: {
        message: 'Hello Vue!'
    },
});
<!-- development version, includes helpful console warnings -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

<div id="app">
</div>

对于模板问题,Vue使用warn处理程序,但是对于从方法抛出的错误,它使用错误处理程序