求助,加载异步组件报错Failed to resolve async component
发布于 3 年前 作者 chaoren 7657 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

我的系统整体有几百个组件和模块,异步组件大概有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对应的值

回到顶部