Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Introduzione ai Moduli in Angular | Standalone Components & Modules
Introduzione ad Angular

bookIntroduzione ai Moduli in Angular

Immagina di costruire un'applicazione. All'inizio, è solo un singolo file — come main.ts. Ma andando avanti, inizi ad aggiungere altri elementi: componenti, servizi, stili, logica, gestione dei dati, autenticazione e così via.

Prima o poi, le cose iniziano a diventare disordinate — è 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?

Note
Definizione

Un modulo è un modo per raggruppare parti correlate della tua applicazione in blocchi separati e gestibili, facili da mantenere, riutilizzare e testare.

Pensa a un modulo come a una scatola in cui conservi tutto ciò che è relativo a una funzionalità specifica. Ad esempio, tutto ciò che riguarda l'utente potrebbe essere inserito in un UserModule.

In Angular, un modulo è semplicemente una classe contrassegnata dal decoratore @NgModule, come segue:

app-component.ts

app-component.ts

copy

Ecco cosa fa ciascuna parte:

  • declarations – elenca i componenti, le direttive e i pipe che appartengono a questo modulo;

  • imports – importa altri moduli da cui questo modulo dipende (come BrowserModule per 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 solito AppComponent).

Fondamentalmente, un modulo definisce quali dipendenze accetta, quali risorse rende disponibili 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 stiamo usando i moduli

A partire da Angular 14, esiste una nuova alternativa: i componenti standalone.

Questi permettono di creare e utilizzare un componente senza inserirlo in un modulo. Li abbiamo effettivamente utilizzati durante tutto il nostro progetto, e si presentano così:

task-component.ts

task-component.ts

copy

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.

Note
Nota

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 aziendali 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.

Note
Nota

Ecco perché dedicheremo un po' di tempo a imparare come funziona NgModule — così potrai leggere e mantenere con sicurezza i vecchi codebase.

1. Qual è lo scopo principale di un modulo in Angular?

2. Cosa viene solitamente incluso nel decoratore @NgModule?

question mark

Qual è lo scopo principale di un modulo in Angular?

Select the correct answer

question mark

Cosa viene solitamente incluso nel decoratore @NgModule?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain more about standalone components in Angular?

Why would I still need to use modules in a modern Angular project?

How do I decide between using modules and standalone components?

Awesome!

Completion rate improved to 3.13

bookIntroduzione ai Moduli in Angular

Scorri per mostrare il menu

Immagina di costruire un'applicazione. All'inizio, è solo un singolo file — come main.ts. Ma andando avanti, inizi ad aggiungere altri elementi: componenti, servizi, stili, logica, gestione dei dati, autenticazione e così via.

Prima o poi, le cose iniziano a diventare disordinate — è 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?

Note
Definizione

Un modulo è un modo per raggruppare parti correlate della tua applicazione in blocchi separati e gestibili, facili da mantenere, riutilizzare e testare.

Pensa a un modulo come a una scatola in cui conservi tutto ciò che è relativo a una funzionalità specifica. Ad esempio, tutto ciò che riguarda l'utente potrebbe essere inserito in un UserModule.

In Angular, un modulo è semplicemente una classe contrassegnata dal decoratore @NgModule, come segue:

app-component.ts

app-component.ts

copy

Ecco cosa fa ciascuna parte:

  • declarations – elenca i componenti, le direttive e i pipe che appartengono a questo modulo;

  • imports – importa altri moduli da cui questo modulo dipende (come BrowserModule per 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 solito AppComponent).

Fondamentalmente, un modulo definisce quali dipendenze accetta, quali risorse rende disponibili 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 stiamo usando i moduli

A partire da Angular 14, esiste una nuova alternativa: i componenti standalone.

Questi permettono di creare e utilizzare un componente senza inserirlo in un modulo. Li abbiamo effettivamente utilizzati durante tutto il nostro progetto, e si presentano così:

task-component.ts

task-component.ts

copy

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.

Note
Nota

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 aziendali 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.

Note
Nota

Ecco perché dedicheremo un po' di tempo a imparare come funziona NgModule — così potrai leggere e mantenere con sicurezza i vecchi codebase.

1. Qual è lo scopo principale di un modulo in Angular?

2. Cosa viene solitamente incluso nel decoratore @NgModule?

question mark

Qual è lo scopo principale di un modulo in Angular?

Select the correct answer

question mark

Cosa viene solitamente incluso nel decoratore @NgModule?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 1
some-alt