Самозагрузка угловая 6 модулей условно - PullRequest
0 голосов
/ 28 июня 2019

Мой пример использования следующий:

У меня есть два модуля, скажем A и B . A заботится обо всех взаимодействиях на стороне клиента, а B заботится о обновлении токена из службы единого входа и делает это в фоновом режиме с помощью iFrame.Исходя из текущего URL, мне нужно условно загрузить либо модуль A , либо B .Это будет означать, что в любой момент времени в приложении будет доступен только один из двух модулей.Я делаю это потому, что у меня будет iFrame в корневом компоненте A , который будет загружать модуль B и, таким образом, B продолжает работать в фоновом режиме внутри iFrame.

Мой файл main.ts выглядит следующим образом.

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { A } from './app/app.module';
import { B } from './app/modules/b/b.module';
import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}
if (!location.href.includes('b2b/auth')) {
  platformBrowserDynamic().bootstrapModule(A)
    .catch(err => console.log(err));
} else {
  platformBrowserDynamic().bootstrapModule(B)
  .catch(err => console.log(err));
}

Проблема в том, что приведенный выше код отлично работает в dev, просто ng build, но как только я создаю prod с использованием ng build --prod, он успешно компилируется, но при запуске выдает:

uncaught error in function() {} No NgModule metadata found for 'function (){}'. и выполнение на этом останавливается.Я также получаю:

WARNING in Lazy routes discovery is not enabled. Because there is neither an entryModule nor a statically analyzable bootstrap code in the main file. как для dev, так и для prod build.

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

ng build выдает ошибку: «Пытался найти код начальной загрузки, но не смог».

Поддержка нескольких входовМодуль

https://github.com/angular/angular-cli/issues/4624

ошибка: метаданные NgModule не найдены для 'function () {}'.Волшебная оптимизация для aot

Не найдено метаданных NgModule для 'function () {}'

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

Любая помощь приветствуется.Спасибо

...