Introduzione ai Moduli in Angular
Immagina di costruire un'applicazione. All'inizio è solo un singolo file — come main.ts. Ma man mano che procedi, inizi ad aggiungere altri elementi: componenti, servizi, stili, logica, gestione dei dati, autenticazione e così via.
Prima o poi, tutto inizia a diventare disordinato — è difficile capire cosa viene utilizzato dove o come tutto si collega.
È proprio in questi momenti che la modularità diventa la tua migliore alleata.
Che cos'è un modulo in Angular?
Un modulo è un modo per raggruppare parti correlate della tua applicazione in blocchi separati e gestibili, facili da mantenere, riutilizzare e testare.
Considerare un modulo come una scatola in cui si conserva tutto ciò che è relativo a una funzionalità specifica. Ad esempio, tutti gli elementi relativi agli utenti possono essere inseriti in un UserModule.
In Angular, un modulo è semplicemente una classe contrassegnata con il decoratore @NgModule, come segue:
app-component.ts
Significato di ciascuna parte:
-
declarations– elenca i componenti, le direttive e le pipe che appartengono a questo modulo; -
imports– importa altri moduli da cui questo dipende (comeBrowserModuleper l'accesso al DOM); -
providers– dichiara i servizi (per l'iniezione delle dipendenze) disponibili in questo modulo; -
bootstrap– definisce il componente principale da caricare all'avvio dell'applicazione (di solitoAppComponent).
In sostanza, un modulo definisce ciò che riceve (le sue dipendenze), ciò che rende disponibile ad altri moduli e così via.
Qualsiasi componente che interagisce con questo modulo può utilizzare i servizi e le altre risorse che esso fornisce.
Perché al momento non utilizziamo i moduli
A partire da Angular 14, è disponibile una nuova alternativa: i componenti standalone.
Questi permettono di creare e utilizzare un componente senza inserirlo in alcun modulo. Li abbiamo effettivamente utilizzati durante tutto il nostro progetto, e si presentano così:
task-component.ts
Questo è un componente standalone, il che significa che non deve essere elencato in alcun NgModule sotto declarations. Invece, tutto ciò di cui ha bisogno (come direttive, pipe o altri moduli) viene importato direttamente tramite la proprietà imports all'interno del componente stesso.
Questo rende la struttura del progetto più leggera e flessibile, particolarmente utile per applicazioni di piccole dimensioni o blocchi di funzionalità isolati.
Approfondiremo i componenti standalone più avanti in questa sezione.
Anche se i progetti Angular più recenti non richiedono i moduli, li incontrerai comunque spesso:
-
Le applicazioni enterprise più datate sono interamente costruite utilizzando i moduli;
-
Molti tutorial, documentazioni ed esempi sono ancora scritti con
NgModule; -
Alcune librerie di terze parti e framework UI utilizzano ancora l'approccio basato sui moduli.
Ecco perché dedicheremo un po' di tempo a comprendere come funziona NgModule — così potrai leggere e mantenere con sicurezza i codebase più datati.
1. Qual è lo scopo principale di un modulo in Angular?
2. Cosa viene solitamente incluso nel decoratore @NgModule?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 3.13
Introduzione ai Moduli in Angular
Scorri per mostrare il menu
Immagina di costruire un'applicazione. All'inizio è solo un singolo file — come main.ts. Ma man mano che procedi, inizi ad aggiungere altri elementi: componenti, servizi, stili, logica, gestione dei dati, autenticazione e così via.
Prima o poi, tutto inizia a diventare disordinato — è difficile capire cosa viene utilizzato dove o come tutto si collega.
È proprio in questi momenti che la modularità diventa la tua migliore alleata.
Che cos'è un modulo in Angular?
Un modulo è un modo per raggruppare parti correlate della tua applicazione in blocchi separati e gestibili, facili da mantenere, riutilizzare e testare.
Considerare un modulo come una scatola in cui si conserva tutto ciò che è relativo a una funzionalità specifica. Ad esempio, tutti gli elementi relativi agli utenti possono essere inseriti in un UserModule.
In Angular, un modulo è semplicemente una classe contrassegnata con il decoratore @NgModule, come segue:
app-component.ts
Significato di ciascuna parte:
-
declarations– elenca i componenti, le direttive e le pipe che appartengono a questo modulo; -
imports– importa altri moduli da cui questo dipende (comeBrowserModuleper l'accesso al DOM); -
providers– dichiara i servizi (per l'iniezione delle dipendenze) disponibili in questo modulo; -
bootstrap– definisce il componente principale da caricare all'avvio dell'applicazione (di solitoAppComponent).
In sostanza, un modulo definisce ciò che riceve (le sue dipendenze), ciò che rende disponibile ad altri moduli e così via.
Qualsiasi componente che interagisce con questo modulo può utilizzare i servizi e le altre risorse che esso fornisce.
Perché al momento non utilizziamo i moduli
A partire da Angular 14, è disponibile una nuova alternativa: i componenti standalone.
Questi permettono di creare e utilizzare un componente senza inserirlo in alcun modulo. Li abbiamo effettivamente utilizzati durante tutto il nostro progetto, e si presentano così:
task-component.ts
Questo è un componente standalone, il che significa che non deve essere elencato in alcun NgModule sotto declarations. Invece, tutto ciò di cui ha bisogno (come direttive, pipe o altri moduli) viene importato direttamente tramite la proprietà imports all'interno del componente stesso.
Questo rende la struttura del progetto più leggera e flessibile, particolarmente utile per applicazioni di piccole dimensioni o blocchi di funzionalità isolati.
Approfondiremo i componenti standalone più avanti in questa sezione.
Anche se i progetti Angular più recenti non richiedono i moduli, li incontrerai comunque spesso:
-
Le applicazioni enterprise più datate sono interamente costruite utilizzando i moduli;
-
Molti tutorial, documentazioni ed esempi sono ancora scritti con
NgModule; -
Alcune librerie di terze parti e framework UI utilizzano ancora l'approccio basato sui moduli.
Ecco perché dedicheremo un po' di tempo a comprendere come funziona NgModule — così potrai leggere e mantenere con sicurezza i codebase più datati.
1. Qual è lo scopo principale di un modulo in Angular?
2. Cosa viene solitamente incluso nel decoratore @NgModule?
Grazie per i tuoi commenti!