Vuejs, лови предупреждения в производственном режиме - PullRequest
0 голосов
/ 27 апреля 2018

Наше приложение использует шаблоны от magento, и иногда оно вызывает ошибки (например, неправильный реквизит или специальные символы). Эти ошибки будут отключены в производственном режиме.

Но мы должны отслеживать это по TrackJs. Итак, возможно ли перехватывать предупреждения в рабочем режиме?

Пример предупреждений:

[Vue warn]: ошибка компиляции шаблона:

1 Ответ

0 голосов
/ 27 апреля 2018

Когда Vue запускается в производственном режиме, все ошибки скрыты при проектировании, это не то, что можно изменить, ожидайте, запустив версию для разработчиков. Причиной этого является то, что в производственной среде вы должны в идеале предварительно скомпилировать все свои шаблоны, используя инструмент сборки или пользовательский бэкэнд.

В разработке вы можете использовать errorHandler и warnHandler внутри конфигурации Vue:

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 использует обработчик предупреждений, но для ошибок, генерируемых методами, он использует обработчик ошибок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...