Я пытаюсь запустить проект с 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-architects/module-federation-tools
автономный режим.
Но вы можете найти рабочий пример использования автономного компонента в MFE.
Если вас устраивает Native Federation, у вас есть лучшие примеры для автономных компонентов.
import { initFederation } from '@angular-architects/native-federation';
initFederation()
.catch(err => console.error(err))
.then(_ => import('./bootstrap'))
.catch(err => console.error(err));
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: [
]
});