Einführung in Module in Angular
Stellen Sie sich vor, Sie entwickeln eine App. Anfangs besteht sie nur aus einer einzigen Datei – wie main.ts. Doch im Verlauf fügen Sie immer mehr hinzu: Komponenten, Services, Styles, Logik, Datenverarbeitung, Authentifizierung und so weiter.
Früher oder später wird alles unübersichtlich – es ist schwer nachzuvollziehen, was wo verwendet wird oder wie alles zusammenhängt.
Genau dann wird Modularität zu Ihrem besten Freund.
Was ist ein Modul in Angular?
Ein Modul ist eine Möglichkeit, zusammengehörige Teile Ihrer App in separate, überschaubare Blöcke zu gruppieren, die leicht zu warten, wiederzuverwenden und zu testen sind.
Ein Modul kann man sich wie eine Box vorstellen, in der alles zu einer bestimmten Funktionalität gesammelt wird. Beispielsweise könnten alle benutzerbezogenen Elemente in ein UserModule gelegt werden.
In Angular ist ein Modul einfach eine Klasse, die mit dem @NgModule-Dekorator versehen ist, wie hier:
app-component.ts
Bedeutung der einzelnen Bereiche:
-
declarations– listet die Komponenten, Direktiven und Pipes auf, die zu diesem Modul gehören; -
imports– importiert andere Module, von denen dieses Modul abhängt (zum BeispielBrowserModulefür den DOM-Zugriff); -
providers– deklariert Dienste (für Dependency Injection), die in diesem Modul verfügbar sind; -
bootstrap– definiert die Hauptkomponente, die beim Starten der Anwendung geladen wird (meistensAppComponent).
Im Wesentlichen legt ein Modul fest, welche Abhängigkeiten es benötigt, was es anderen Modulen zur Verfügung stellt und so weiter.
Alle Komponenten, die mit diesem Modul interagieren, können die bereitgestellten Dienste und Ressourcen nutzen.
Warum wir derzeit keine Module verwenden
Ab Angular 14 gibt es eine neue Alternative — Standalone-Komponenten.
Diese ermöglichen es, eine Komponente zu erstellen und zu verwenden, ohne sie überhaupt in ein Modul einzufügen. Wir haben sie tatsächlich bereits im gesamten Projekt verwendet, und sie sehen folgendermaßen aus:
task-component.ts
Dies ist eine Standalone-Komponente — das bedeutet, sie muss nicht in den Deklarationen eines NgModule aufgeführt werden. Stattdessen werden alle benötigten Elemente (wie Direktiven, Pipes oder andere Module) direkt über die Imports-Eigenschaft innerhalb der Komponente eingebunden.
Dadurch wird die Projektstruktur schlanker und flexibler — besonders nützlich für kleine Anwendungen oder isolierte Funktionsblöcke.
Auf eigenständige Komponenten gehen wir später in diesem Abschnitt noch genauer ein.
Auch wenn neuere Angular-Projekte keine Module mehr benötigen, werden Sie ihnen dennoch häufig begegnen:
-
Ältere Unternehmensanwendungen sind vollständig mit Modulen aufgebaut;
-
Viele Tutorials, Dokumentationen und Beispiele sind weiterhin mit
NgModuleverfasst; -
Einige Drittanbieter-Bibliotheken und UI-Frameworks verwenden weiterhin den modulbasierten Ansatz.
Deshalb werden wir uns etwas Zeit nehmen, um zu lernen, wie NgModule funktioniert — damit Sie ältere Codebasen sicher lesen und pflegen können.
1. Was ist der Hauptzweck eines Moduls in Angular?
2. Was ist normalerweise im @NgModule-Dekorator enthalten?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.13
Einführung in Module in Angular
Swipe um das Menü anzuzeigen
Stellen Sie sich vor, Sie entwickeln eine App. Anfangs besteht sie nur aus einer einzigen Datei – wie main.ts. Doch im Verlauf fügen Sie immer mehr hinzu: Komponenten, Services, Styles, Logik, Datenverarbeitung, Authentifizierung und so weiter.
Früher oder später wird alles unübersichtlich – es ist schwer nachzuvollziehen, was wo verwendet wird oder wie alles zusammenhängt.
Genau dann wird Modularität zu Ihrem besten Freund.
Was ist ein Modul in Angular?
Ein Modul ist eine Möglichkeit, zusammengehörige Teile Ihrer App in separate, überschaubare Blöcke zu gruppieren, die leicht zu warten, wiederzuverwenden und zu testen sind.
Ein Modul kann man sich wie eine Box vorstellen, in der alles zu einer bestimmten Funktionalität gesammelt wird. Beispielsweise könnten alle benutzerbezogenen Elemente in ein UserModule gelegt werden.
In Angular ist ein Modul einfach eine Klasse, die mit dem @NgModule-Dekorator versehen ist, wie hier:
app-component.ts
Bedeutung der einzelnen Bereiche:
-
declarations– listet die Komponenten, Direktiven und Pipes auf, die zu diesem Modul gehören; -
imports– importiert andere Module, von denen dieses Modul abhängt (zum BeispielBrowserModulefür den DOM-Zugriff); -
providers– deklariert Dienste (für Dependency Injection), die in diesem Modul verfügbar sind; -
bootstrap– definiert die Hauptkomponente, die beim Starten der Anwendung geladen wird (meistensAppComponent).
Im Wesentlichen legt ein Modul fest, welche Abhängigkeiten es benötigt, was es anderen Modulen zur Verfügung stellt und so weiter.
Alle Komponenten, die mit diesem Modul interagieren, können die bereitgestellten Dienste und Ressourcen nutzen.
Warum wir derzeit keine Module verwenden
Ab Angular 14 gibt es eine neue Alternative — Standalone-Komponenten.
Diese ermöglichen es, eine Komponente zu erstellen und zu verwenden, ohne sie überhaupt in ein Modul einzufügen. Wir haben sie tatsächlich bereits im gesamten Projekt verwendet, und sie sehen folgendermaßen aus:
task-component.ts
Dies ist eine Standalone-Komponente — das bedeutet, sie muss nicht in den Deklarationen eines NgModule aufgeführt werden. Stattdessen werden alle benötigten Elemente (wie Direktiven, Pipes oder andere Module) direkt über die Imports-Eigenschaft innerhalb der Komponente eingebunden.
Dadurch wird die Projektstruktur schlanker und flexibler — besonders nützlich für kleine Anwendungen oder isolierte Funktionsblöcke.
Auf eigenständige Komponenten gehen wir später in diesem Abschnitt noch genauer ein.
Auch wenn neuere Angular-Projekte keine Module mehr benötigen, werden Sie ihnen dennoch häufig begegnen:
-
Ältere Unternehmensanwendungen sind vollständig mit Modulen aufgebaut;
-
Viele Tutorials, Dokumentationen und Beispiele sind weiterhin mit
NgModuleverfasst; -
Einige Drittanbieter-Bibliotheken und UI-Frameworks verwenden weiterhin den modulbasierten Ansatz.
Deshalb werden wir uns etwas Zeit nehmen, um zu lernen, wie NgModule funktioniert — damit Sie ältere Codebasen sicher lesen und pflegen können.
1. Was ist der Hauptzweck eines Moduls in Angular?
2. Was ist normalerweise im @NgModule-Dekorator enthalten?
Danke für Ihr Feedback!