提问者:小点点

延迟加载模块中的角度单spa延迟加载路由调用未定义的webpack错误


我使用带有角度的单spa。我有一个shell和子应用程序,当我的子应用程序具有延迟加载的模块时,RootModule加载SubModule加载SuperSubModule。所有这些路由都是延迟加载的路由。当我在没有单spa和单spa webpack配置的情况下为我的应用程序提供服务时,这工作得很好。但是当我在生产模式和aot中构建我的应用程序时,延迟加载的路由SubModule到SuperSubModule在我导航到该url时出现错误。错误是:

错误:未捕获(在Promise中):TypeError:无法读取未定义的属性'call'TypeError:无法读取未定义的属性'call'at o(bootstrap: 63)at ZoneConvoke.onInvoke(zone.js:1)at ZonePromisate.invoke(zone.js:395)at ZoneConvoke.onInvoke(core.js:39699)atZone.run(zone.js:153)at zone.js:894 at ZonePromise(zone.js:431)at Object.onInvokeTask(main.js:1)at ZonePromise(zone.js:836)at zone vePromise(zone.js:795)at zonePromisate.callkeTask(zone.js:153)at zonePromise.js:897 at

当我再次单击该模块的网址时,错误是:错误错误:未捕获(在promise中):错误:未找到未定义的NgModule元数据。

错误:未找到未定义的NgModule元数据。在lg.解决方案(compiller. js:20900)在Th.getNgModuleMetadata(compiller.js:20029)在Jg._loadModules(compiller.js:25824)在Jg._compileModuleAndComponents(compiller.js:25807)在useClass.compileModuleAsync(compiller.js:25769)在c.project(router.js:6406)在c._tryNext(mergeMap.js:46)在c._next(mergeMap.js:36)在c.next(Subscriber.js:50)在resvePromise(zone.js:836)在resvePromise(zone.js:795)在zone.js:897在ZonePromisate.callkeTask(zone.js:

有人知道如何解决这个问题吗?欢迎任何反馈,我已经被困在这个问题上好几天了。提前感谢!编辑:这只发生在生产模式下,当使用单spa时,而不是在生产模式下独立服务时。


共1个答案

匿名用户

答案FAQ单一水疗中心:https://single-spa.js.org/docs/faq/#code-splits你必须做解决方案1和2才能让它发挥作用,在我们的例子中,2错过了。