für Konsumenten der Bibliothek • Barrels fassen verschiedene Exporte aus den einzelnen Dateien zusammen • "Public API" • Standard-Barrel: Entry Point • Weitere Barrels möglich
Angular und das Tooling funktionieren am besten, wenn alles gemeinsam kompiliert wird (Angular CLI oder WebPack, Tree Shaking) • Angular selbst es an und für sich egal, wie Module geladen werden … • Versuchen mit Paketen und einer npm-Registry zu arbeiten • Häufig gibt es eine endliche Liste an Plugins …
• Angular CLI/ WebPack gehen davon aus, dass alles zusammen kompiliert wird • Seed: https://github.com/mgechev/angular-seed • Vergessen Sie Tree Shaking • Nutzen Sie Lazy Loading ODER • Laden Sie Angular Module manuell
let module = moduleRef.instance; let compType = module.constructor.decorators[0].args[0].exports .find( e => e.name == 'DashBoardComponent'); let componentFactoryResolver = moduleRef.componentFactoryResolver; let componentFactory = componentFactoryResolver .resolveComponentFactory(compType); let componentRef = this.viewContainer .createComponent(componentFactory, null, this.injector); let comp: any = componentRef.instance; this.componentRef = componentRef; }); }