Introductie tot Modules in Angular
Stel je voor dat je een app bouwt. In het begin is het slechts één bestand — zoals main.ts
. Maar na verloop van tijd voeg je meer toe: componenten, services, stijlen, logica, gegevensverwerking, authenticatie, enzovoort.
Vroeg of laat wordt het rommelig — het is lastig te achterhalen wat waar wordt gebruikt of hoe alles met elkaar verbonden is.
Op dat moment wordt modulariteit je beste vriend.
Wat is een module in Angular?
Een module is een manier om gerelateerde onderdelen van je app te groeperen in afzonderlijke, beheersbare blokken die eenvoudig te onderhouden, hergebruiken en testen zijn.
Beschouw een module als een doos waarin je alles bewaart dat betrekking heeft op een specifieke functionaliteit. Bijvoorbeeld, alle gebruikersgerelateerde zaken kunnen in een UserModule
worden geplaatst.
In Angular is een module simpelweg een klasse gemarkeerd met de @NgModule
decorator, zoals hieronder:
app-component.ts
Dit doet elk onderdeel:
-
declarations
– somt de componenten, directives en pipes op die tot deze module behoren; -
imports
– importeert andere modules waarvan deze module afhankelijk is (zoalsBrowserModule
voor DOM-toegang); -
providers
– declareert services (voor dependency injection) die in deze module beschikbaar zijn; -
bootstrap
– definieert de hoofdcomponent die wordt geladen bij het starten van de applicatie (meestalAppComponent
).
Kortom, een module bepaalt welke afhankelijkheden het binnenhaalt, wat het beschikbaar stelt aan andere modules, enzovoort.
Alle componenten die met deze module interageren, kunnen gebruikmaken van de services en andere middelen die het biedt.
Waarom We Op Dit Moment Geen Modules Gebruiken
Vanaf Angular 14 is er een nieuw alternatief — standalone componenten.
Hiermee kun je een component maken en gebruiken zonder deze in een module te plaatsen. We hebben ze eigenlijk al in ons project gebruikt, en ze zien er zo uit:
task-component.ts
Dit is een standalone component — wat betekent dat deze niet hoeft te worden opgenomen in een NgModule onder declarations. In plaats daarvan voeg je alles wat nodig is (zoals directives, pipes of andere modules) direct toe via de imports-eigenschap binnen het component zelf.
Dit maakt de structuur van je project lichter en flexibeler — vooral handig voor kleine apps of geïsoleerde feature-blokken.
Later in deze sectie gaan we dieper in op standalone componenten.
Hoewel nieuwere Angular-projecten geen modules meer vereisen, kom je ze nog vaak tegen:
-
Oudere bedrijfsapplicaties zijn volledig opgebouwd met modules;
-
Veel tutorials, documentatie en voorbeelden zijn nog steeds geschreven met
NgModule
; -
Sommige externe bibliotheken en UI-frameworks gebruiken nog steeds de module-gebaseerde aanpak.
Daarom besteden we wat tijd aan het leren hoe NgModule
werkt — zodat je oudere codebases met vertrouwen kunt lezen en onderhouden.
1. Wat is het belangrijkste doel van een module in Angular?
2. Wat wordt meestal opgenomen in de @NgModule
decorator?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.13
Introductie tot Modules in Angular
Veeg om het menu te tonen
Stel je voor dat je een app bouwt. In het begin is het slechts één bestand — zoals main.ts
. Maar na verloop van tijd voeg je meer toe: componenten, services, stijlen, logica, gegevensverwerking, authenticatie, enzovoort.
Vroeg of laat wordt het rommelig — het is lastig te achterhalen wat waar wordt gebruikt of hoe alles met elkaar verbonden is.
Op dat moment wordt modulariteit je beste vriend.
Wat is een module in Angular?
Een module is een manier om gerelateerde onderdelen van je app te groeperen in afzonderlijke, beheersbare blokken die eenvoudig te onderhouden, hergebruiken en testen zijn.
Beschouw een module als een doos waarin je alles bewaart dat betrekking heeft op een specifieke functionaliteit. Bijvoorbeeld, alle gebruikersgerelateerde zaken kunnen in een UserModule
worden geplaatst.
In Angular is een module simpelweg een klasse gemarkeerd met de @NgModule
decorator, zoals hieronder:
app-component.ts
Dit doet elk onderdeel:
-
declarations
– somt de componenten, directives en pipes op die tot deze module behoren; -
imports
– importeert andere modules waarvan deze module afhankelijk is (zoalsBrowserModule
voor DOM-toegang); -
providers
– declareert services (voor dependency injection) die in deze module beschikbaar zijn; -
bootstrap
– definieert de hoofdcomponent die wordt geladen bij het starten van de applicatie (meestalAppComponent
).
Kortom, een module bepaalt welke afhankelijkheden het binnenhaalt, wat het beschikbaar stelt aan andere modules, enzovoort.
Alle componenten die met deze module interageren, kunnen gebruikmaken van de services en andere middelen die het biedt.
Waarom We Op Dit Moment Geen Modules Gebruiken
Vanaf Angular 14 is er een nieuw alternatief — standalone componenten.
Hiermee kun je een component maken en gebruiken zonder deze in een module te plaatsen. We hebben ze eigenlijk al in ons project gebruikt, en ze zien er zo uit:
task-component.ts
Dit is een standalone component — wat betekent dat deze niet hoeft te worden opgenomen in een NgModule onder declarations. In plaats daarvan voeg je alles wat nodig is (zoals directives, pipes of andere modules) direct toe via de imports-eigenschap binnen het component zelf.
Dit maakt de structuur van je project lichter en flexibeler — vooral handig voor kleine apps of geïsoleerde feature-blokken.
Later in deze sectie gaan we dieper in op standalone componenten.
Hoewel nieuwere Angular-projecten geen modules meer vereisen, kom je ze nog vaak tegen:
-
Oudere bedrijfsapplicaties zijn volledig opgebouwd met modules;
-
Veel tutorials, documentatie en voorbeelden zijn nog steeds geschreven met
NgModule
; -
Sommige externe bibliotheken en UI-frameworks gebruiken nog steeds de module-gebaseerde aanpak.
Daarom besteden we wat tijd aan het leren hoe NgModule
werkt — zodat je oudere codebases met vertrouwen kunt lezen en onderhouden.
1. Wat is het belangrijkste doel van een module in Angular?
2. Wat wordt meestal opgenomen in de @NgModule
decorator?
Bedankt voor je feedback!