首页 新闻 赞助 找找看

求助vue,加载异步组件报错Failed to resolve async component

0
[待解决问题]

我的系统整体有几百个组件和模块,异步组件大概有200个。使用webpack2 + vue2.2.4 + vue-router2.3.0 + vuex2.2.1。vue-router使用hash模式。

在一段时间内,某个异步组件会加载失败。
然后过几天,这个问题会随机转移到另外一个异步组件上,出错的异步组件不是特定的。
只要是从其他组件跳转到这个异步组件就会加载失败。但是加载失败后,F5刷新页面,异步组件又会加载成功。

测试过更新vue全家桶到最新和webpack3最新版,还是有这个问题。

报错信息:
[Vue warn]: Failed to resolve async component: function (){var n={};return t.commit(“loading”,n),e().then(function(e){return n.close(),Promise.resolve(e)}).catch(function(e){return n.close(),Promise.reject(e)})}
Reason: TypeError: Cannot read property ‘call’ of undefined

跟踪进去,发现是webpack生成的代码里面有个地方调用报错。modules[moduleId].call这个报错,modules根本没有moduleId对应的值

< >
分享
所有回答(2)
2
dudu | 园豆:31075 (高人七级) | 2017-12-26 15:19
0

应该是你在异步加载尚未成功的时候有使用这个组件吧?

小明1992 | 园豆:236 (菜鸟二级) | 2017-12-29 00:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册