Мне интересно, как проверить, загружен ли асинхронный компонент.
Обычно я загружаю свой компонент примерно так:
Vue.component(
'booking-overlay',
() => import('@/components/BookingOverlayAsync.vue')
);
Использование чего-то подобного не работает:
Vue.component(
'booking-overlay',
() => import('@/components/BookingOverlayAsync.vue').then(() => {
console.log('component has loaded');
})
);
Это приводит к следующей ошибке:
Uncaught (в обещании) TypeError: Невозможно прочитать свойство '__esModule' из неопределенного в sureCtor ..
Компонент больше не загружается, но обещание разрешается.При добавлении then
это больше не разрешает само обещание, как кажется.
Как я могу глобально зарегистрировать этот асинхронный компонент, а также проверить, был ли загружен этот блок JavaScript-компонентов?
Очевидно,Я мог бы просто сделать это вместе с настройкой глобального компонента:
import('@/components/BookingOverlayAsync.vue').then(() => {
console.log('Chunk loaded');
});
Хотя это кажется очень уродливым решением.