我正在尝试使用 single-spa 将另一个角度应用程序添加到我的容器应用程序中。
作为一个模板,我在 GitHub 上查看了这个repo 。
现在出现以下问题:
在应用程序加载服务中,以下行尝试使用 systemjs 加载应用程序并通过 single-spa 安装它
mount(appName: string, domElement: HTMLElement): Observable<unknown> {
return from(System.import<ParcelConfig>(appName)).pipe(
tap((app: ParcelConfig) => {
this.loadedParcels[appName] = mountRootParcel(app, {
domElement
});
})
);
}
在 import-map 概述中,您还可以看到所有内容都已正确导入:
当模块在 Angular 中加载时,现在会显示以下错误:
Error: Cannot find module 'child1'
at 6.js:1
at l.invoke (polyfills.js:1)
at Object.onInvoke (main.js:1)
at l.invoke (polyfills.js:1)
at a.run (polyfills.js:1)
at polyfills.js:1
at l.invokeTask (polyfills.js:1)
at Object.onInvokeTask (main.js:1)
at l.invokeTask (polyfills.js:1)
at a.runTask (polyfills.js:1)
但是,当我想通过 SystemJS 在 javascript 控制台中加载外部角度页面时,它可以正常工作,并且我可以正确恢复单水疗生命周期方法:
命令:
await System.import('child1');
结果:
Module {default: Module, __useDefault: true, bootstrap: ƒ, mount: ƒ, unmount: ƒ, …}
bootstrap: ƒ ()
default: Module {__esModule: true, Symbol(Symbol.toStringTag): "Module"}
mount: ƒ ()
unmount: ƒ ()
__esModule: true
__useDefault: true
有谁知道问题是什么?