Мой вариант использования выглядит следующим образом:
У меня есть два модуля: 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.
как для разработки, так и для производства.
Я вижу, что у многих людей есть эта проблема, и мне было интересно, смог ли кто-нибудь решить эту проблему.
ng build выдает ошибку: "Пытался найти загрузочный код, но не смог.”
Поддержка нескольких входных модулей
https://github.com/angular/angular-cli/issues/4624
ошибка: не найдены метаданные NgModule для 'function(){}'. Волшебная оптимизация для aot
Не найдены метаданные NgModule для 'function(){}'
но не повезло ни с одним из предложений. Я знаю, что упростил формулировку своей проблемы, но я сделал это только для того, чтобы иметь четкое представление о том, каков мой вариант использования и проблема, с которой я сталкиваюсь.
Любая помощь приветствуется. Спасибо