Запустите приложение Angular 4 и Angular 8 на той же странице - PullRequest
0 голосов
/ 05 марта 2020

У меня есть страница (которую я не контролирую), которая запускает приложение Angular 4.

У меня есть приложение Angular 8 (которое я контролирую), которое необходимо запустить на странице с приложением Angular 4. Приложение Angular 4 загружается первым.

Когда я пытаюсь это сделать, при попытке загрузить приложение Angular 8 появляются следующие ошибки:

Already loaded patch: ZoneAwarePromise

и

Uncaught Error: Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.
Most likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)

Я попытался отредактировать polyfills.ts, чтобы загрузить только Зону. js, если она еще не загружена, но это только избавляет от первой ошибки.

У меня плохой Я чувствую, что нет никакого способа выполнить то, что я пытаюсь сделать, но я бы хотел оказаться неправым.

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Одно решение может быть:

  1. Удалить или закомментировать import zone.js из всех polyfills.ts

  2. Добавить следующее к вашему индекс. html:

    <script type="text/javascript" src="https://unpkg.com/zone.js"></script>

0 голосов
/ 05 марта 2020

Размещайте их отдельно, сопоставляйте их URL-адреса с одним и тем же доменом, размещайте один из них в iframe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...