Мой пример использования следующий:
У меня есть два модуля, скажем 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 () {}'
, но не повезло ни с одним из предложений.Я знаю, что упростил формулировку своей проблемы, но я сделал это просто для того, чтобы иметь четкое представление о том, каков мой вариант использования и о проблеме, с которой я сталкиваюсь.
Любая помощь приветствуется.Спасибо