Bootstrap Angular 18 с функцией инструментов объединения модулей

Я пытаюсь запустить проект с Angular 18, используя функцию «начальной загрузки» инструментов федерации модулей: Страница npm инструмента объединения модулей

Вот так и должно быть (как показано в официальных примерах):

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import { bootstrap } from '@angular-architects/module-federation-tools';

bootstrap(AppModule, { //Would like to change this for my standalone AppComponent
  production: environment.production,
  appType: 'shell'
});

Как видите, функция начальной загрузки получает модуль, поэтому мой вопрос: Есть ли способ сделать это с помощью отдельного компонента вместо модуля? Или мне следует просто создать основной модуль в моем приложении Angular 18, чтобы он соответствовал спецификациям, требуемым библиотекой?

🤔 А знаете ли вы, что...
Angular позволяет создавать кастомные директивы для расширения функциональности HTML.


1
50
1

Ответ:

Решено

Не уверен, поддерживает ли @angular-architects/module-federation-tools автономный режим.

Но вы можете найти рабочий пример использования автономного компонента в MFE.

Представление конфигураций маршрутизатора с автономными компонентами (i/o NgModules) через объединение модулей


Если вас устраивает Native Federation, у вас есть лучшие примеры для автономных компонентов.

main.ts

import { initFederation } from '@angular-architects/native-federation';

initFederation()
  .catch(err => console.error(err))
  .then(_ => import('./bootstrap'))
  .catch(err => console.error(err));

bootstrap.ts

import { environment } from './environments/environment';
import { enableProdMode } from '@angular/core';
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';

if (environment.production) {
  enableProdMode();
}

bootstrapApplication(AppComponent, {
  providers: [
  ]
});

модуль-федерация-плагин-пример - Native Federation