Introduktion til Moduler i Angular
Forestil dig, at du bygger en app. I starten er det kun en enkelt fil — som main.ts. Men efterhånden tilføjer du mere: komponenter, services, styles, logik, datahåndtering, autentificering og så videre.
Før eller siden begynder det at blive rodet — det er svært at se, hvad der bruges hvor, eller hvordan alting hænger sammen.
Det er her, modularitet bliver din bedste ven.
Hvad er et modul i Angular?
Et modul er en måde at gruppere relaterede dele af din app i separate, håndterbare blokke, der er nemme at vedligeholde, genbruge og teste.
Tænk på et modul som en boks, hvor alt relateret til en bestemt funktionalitet opbevares. For eksempel kan alt brugerrelateret samles i et UserModule.
I Angular er et modul blot en klasse markeret med @NgModule-dekorationen, som vist her:
app-component.ts
Her er, hvad hver del gør:
-
declarations– angiver de komponenter, direktiver og pipes, der tilhører dette modul; -
imports– importerer andre moduler, som dette modul er afhængigt af (somBrowserModulefor DOM-adgang); -
providers– erklærer services (til dependency injection), der er tilgængelige i dette modul; -
bootstrap– definerer den hovedkomponent, der skal indlæses, når applikationen starter (typiskAppComponent).
Grundlæggende definerer et modul, hvilke afhængigheder det har, hvad det stiller til rådighed for andre moduler osv.
Alle komponenter, der interagerer med dette modul, kan benytte de services og andre ressourcer, det stiller til rådighed.
Hvorfor vi ikke bruger moduler lige nu
Fra og med Angular 14 findes der et nyt alternativ — standalone-komponenter.
Disse giver mulighed for at oprette og anvende en komponent uden at placere den i et modul overhovedet. Vi har faktisk brugt dem gennem hele vores projekt, og de ser sådan ud:
task-component.ts
Dette er en standalone-komponent — hvilket betyder, at den ikke behøver at blive opført i nogen NgModule under declarations. I stedet tilføjes alt, hvad den har brug for (såsom direktiver, pipes eller andre moduler), direkte via imports-egenskaben i selve komponenten.
Dette gør projektets struktur lettere og mere fleksibel — særligt nyttigt for små apps eller isolerede funktionsblokke.
Vi vil dykke dybere ned i standalone-komponenter senere i denne sektion.
Selvom nyere Angular-projekter ikke kræver moduler, vil du stadig ofte støde på dem:
-
Ældre virksomhedsapps er udelukkende bygget med moduler;
-
Mange vejledninger, dokumentationer og eksempler er stadig skrevet med
NgModule; -
Nogle tredjepartsbiblioteker og UI-rammeværk anvender stadig modulbaseret tilgang.
Derfor vil vi bruge lidt tid på at lære, hvordan NgModule fungerer — så du kan læse og vedligeholde ældre kodebaser med sikkerhed.
1. Hvad er hovedformålet med et modul i Angular?
2. Hvad indgår typisk i @NgModule-dekorationen?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.13
Introduktion til Moduler i Angular
Stryg for at vise menuen
Forestil dig, at du bygger en app. I starten er det kun en enkelt fil — som main.ts. Men efterhånden tilføjer du mere: komponenter, services, styles, logik, datahåndtering, autentificering og så videre.
Før eller siden begynder det at blive rodet — det er svært at se, hvad der bruges hvor, eller hvordan alting hænger sammen.
Det er her, modularitet bliver din bedste ven.
Hvad er et modul i Angular?
Et modul er en måde at gruppere relaterede dele af din app i separate, håndterbare blokke, der er nemme at vedligeholde, genbruge og teste.
Tænk på et modul som en boks, hvor alt relateret til en bestemt funktionalitet opbevares. For eksempel kan alt brugerrelateret samles i et UserModule.
I Angular er et modul blot en klasse markeret med @NgModule-dekorationen, som vist her:
app-component.ts
Her er, hvad hver del gør:
-
declarations– angiver de komponenter, direktiver og pipes, der tilhører dette modul; -
imports– importerer andre moduler, som dette modul er afhængigt af (somBrowserModulefor DOM-adgang); -
providers– erklærer services (til dependency injection), der er tilgængelige i dette modul; -
bootstrap– definerer den hovedkomponent, der skal indlæses, når applikationen starter (typiskAppComponent).
Grundlæggende definerer et modul, hvilke afhængigheder det har, hvad det stiller til rådighed for andre moduler osv.
Alle komponenter, der interagerer med dette modul, kan benytte de services og andre ressourcer, det stiller til rådighed.
Hvorfor vi ikke bruger moduler lige nu
Fra og med Angular 14 findes der et nyt alternativ — standalone-komponenter.
Disse giver mulighed for at oprette og anvende en komponent uden at placere den i et modul overhovedet. Vi har faktisk brugt dem gennem hele vores projekt, og de ser sådan ud:
task-component.ts
Dette er en standalone-komponent — hvilket betyder, at den ikke behøver at blive opført i nogen NgModule under declarations. I stedet tilføjes alt, hvad den har brug for (såsom direktiver, pipes eller andre moduler), direkte via imports-egenskaben i selve komponenten.
Dette gør projektets struktur lettere og mere fleksibel — særligt nyttigt for små apps eller isolerede funktionsblokke.
Vi vil dykke dybere ned i standalone-komponenter senere i denne sektion.
Selvom nyere Angular-projekter ikke kræver moduler, vil du stadig ofte støde på dem:
-
Ældre virksomhedsapps er udelukkende bygget med moduler;
-
Mange vejledninger, dokumentationer og eksempler er stadig skrevet med
NgModule; -
Nogle tredjepartsbiblioteker og UI-rammeværk anvender stadig modulbaseret tilgang.
Derfor vil vi bruge lidt tid på at lære, hvordan NgModule fungerer — så du kan læse og vedligeholde ældre kodebaser med sikkerhed.
1. Hvad er hovedformålet med et modul i Angular?
2. Hvad indgår typisk i @NgModule-dekorationen?
Tak for dine kommentarer!