【发布时间】:2019-03-24 02:31:57
【问题描述】:
我想知道如何检查异步组件何时加载。
通常我会像这样加载我的组件:
Vue.component(
'booking-overlay',
() => import('@/components/BookingOverlayAsync.vue')
);
使用这样的东西不起作用:
Vue.component(
'booking-overlay',
() => import('@/components/BookingOverlayAsync.vue').then(() => {
console.log('component has loaded');
})
);
导致如下错误:
Uncaught (in promise) TypeError: Cannot read property '__esModule' of undefined at ensureCtor..
组件不再加载,但承诺确实解决了。通过添加then,它似乎不再解决承诺本身。
如何全局注册这个异步组件并检查这个组件的 JavaScript 块何时加载?
显然,我可以简单地与设置全局组件一起执行此操作:
import('@/components/BookingOverlayAsync.vue').then(() => {
console.log('Chunk loaded');
});
不过,这似乎是一个非常丑陋的解决方案。
【问题讨论】:
-
你能显示你要异步加载的目标vue组件的代码吗
标签: javascript webpack vuejs2 vue-component