0

我正在使用 Single-Spa-Angular 库构建微前端。我使用“ng add single-spa-angular”创建了三个不同的子应用程序,其中两个应用程序运行良好,但一个应用程序显示以下错误:

Uncaught app2: Application 'app2' died in status UNMOUNTING: Cannot read property 'injector' of undefined
    at http://<HOSTNAME>:4202/main.js:204363:53

Uncaught app2: Application 'app2' died in status SKIP_BECAUSE_BROKEN: In this configuration Angular requires Zone.js
    at new NgZone (http://<HOST>:4202/main.js:68725:19)
    at getNgZone (http://<HOST>:4202/main.js:69414:13)
    at PlatformRef../node_modules/@angular/core/fesm5/core.js.PlatformRef.bootstrapModuleFactory (http://<HOST>:4202/main.js:69312:22)
    at http://<HOST>:4202/main.js:69356:59

谁能帮我吗。

感谢 Shashi Bhushan Verma

4

2 回答 2

2

我面临着同样的问题。在 main.single-spa.ts 文件中添加以下行:

导入'zone.js/dist/zone';

这似乎对我有用。

于 2020-02-25T07:17:25.533 回答
1

您也可以在 root-config.js 文件中添加 zone.js 作为脚本,如下所示。

<script src="https://cdn.jsdelivr.net/npm/zone.js@0.10.3/dist/zone.min.js"></script>

正如官方单一水疗中心文档所说

确保在您的页面上仅加载一个 ZoneJS 实例的首选方法是在根配置的 HTML 文件中使用脚本标记。在加载 SystemJS 或任何微前端之前,您应该预先加载一次 ZoneJS。

供您参考文档

于 2021-05-08T00:29:15.877 回答