我们的应用程序使用来自magento的模板,有时会触发错误(例如错误的道具或特殊字符)。 这些错误将在生产模式中静音。
但我们应该通过TrackJs跟踪它。 那么,是否有可能在生产模式中捕获警告?
警告示例:
[Vue警告]:编译模板时出错:
答案 0 :(得分:1)
当Vue在生产模式下运行时,所有错误都是隐藏的bij设计,这不是可以通过运行开发版本来改变的东西。这背后的原因是在内部制作中,理想情况下应该使用构建工具或自定义后端预编译所有模板。
在开发中,您可以在Vue配置中使用errorHandler
和warnHandler
:
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处理程序,但是对于从方法抛出的错误,它使用错误处理程序