【问题标题】:Vuejs, catch warnings in production modeVuejs,在生产模式下捕获警告
【发布时间】:2018-10-08 03:15:36
【问题描述】:

我们的应用使用 magento 的模板,有时会触发错误(例如错误的道具或特殊字符)。 这些错误将在生产模式下被忽略。

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

警告示例:

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

【问题讨论】:

    标签: vue.js vuejs2


    【解决方案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 使用警告处理程序,但对于方法抛出的错误,它使用错误处理程序

    【讨论】:

    • 根据 Vue 文档,warnHandler“仅在开发期间有效,在生产中被忽略。” vuejs.org/v2/api/#warnHandler
    • 感谢您的解释,但我从官方文档中知道。我需要在生产中捕捉它的原因 - 我们使用由 CMS (magento) 构建的动态模板。有时它主要是由于错误的道具数据而失败。
    • 你找到解决这个问题的方法了吗?
    • 有关于这个话题的消息吗?我有与@AlexandrVysotsky 相同的问题,道具作为 JSON 对象从后端传递,有时格式不正确并破坏了整个 Vue 组件。在开发模式下,我们可以使用 warnHandler 跟踪它们,但在生产模式下它会被禁用。那么就没有简单的方法来理解是什么导致组件由于无声警告而损坏。
    • @lbineau 在生产环境中运行开发 vue。开发 vue 较慢,因为它在内部收集数据以显示良好的堆栈跟踪
    猜你喜欢
    • 2017-01-27
    • 2022-08-04
    • 2017-06-04
    • 2018-05-02
    • 2011-01-07
    • 1970-01-01
    • 2015-02-06
    • 2019-01-13
    相关资源
    最近更新 更多