Introduction aux Modules dans Angular
Imaginez que vous construisez une application. Au début, il ne s'agit que d'un seul fichier — comme main.ts
. Mais au fur et à mesure, vous ajoutez davantage : des composants, des services, des styles, de la logique, de la gestion de données, de l'authentification, etc.
Tôt ou tard, tout commence à devenir confus — il devient difficile de savoir ce qui est utilisé où ou comment tout est connecté.
C'est alors que la modularité devient votre meilleure alliée.
Qu'est-ce qu'un module dans Angular ?
Un module est une manière de regrouper les parties liées de votre application en blocs séparés, faciles à maintenir, à réutiliser et à tester.
Considérez un module comme une boîte où vous regroupez tout ce qui concerne une fonctionnalité spécifique. Par exemple, tous les éléments liés à l'utilisateur peuvent être placés dans un UserModule
.
Dans Angular, un module est simplement une classe annotée avec le décorateur @NgModule
, comme ceci :
app-component.ts
Voici le rôle de chaque partie :
-
declarations
: liste les composants, directives et pipes appartenant à ce module ; -
imports
: importe les autres modules dont celui-ci dépend (commeBrowserModule
pour l'accès au DOM) ; -
providers
: déclare les services (pour l'injection de dépendances) disponibles dans ce module ; -
bootstrap
: définit le composant principal à charger au démarrage de l'application (généralementAppComponent
).
En résumé, un module définit ses dépendances, ce qu'il met à disposition des autres modules, etc.
Tout composant interagissant avec ce module peut utiliser les services et autres ressources qu'il fournit.
Pourquoi nous n'utilisons pas les modules pour l'instant
Depuis Angular 14, il existe une nouvelle alternative — les composants autonomes.
Ceux-ci permettent de créer et d'utiliser un composant sans l'intégrer dans un module. Nous les avons d'ailleurs utilisés tout au long de notre projet, et ils ressemblent à ceci :
task-component.ts
Il s'agit d'un composant autonome — ce qui signifie qu'il n'a pas besoin d'être listé dans les déclarations d'un NgModule. À la place, tout ce dont il a besoin (comme les directives, pipes ou autres modules) est importé directement via la propriété imports à l'intérieur du composant lui-même.
Cela rend la structure de votre projet plus légère et plus flexible — particulièrement utile pour les petites applications ou les blocs de fonctionnalités isolés.
Nous approfondirons les composants autonomes plus tard dans cette section.
Même si les nouveaux projets Angular n'exigent plus l'utilisation de modules, vous les rencontrerez encore fréquemment :
-
Les anciennes applications d'entreprise sont entièrement construites avec des modules ;
-
De nombreux tutoriels, documentations et exemples utilisent encore
NgModule
; -
Certaines bibliothèques tierces et frameworks d'interface utilisateur reposent toujours sur l'approche basée sur les modules.
C'est pourquoi nous consacrerons un peu de temps à comprendre le fonctionnement de NgModule
— afin que vous puissiez lire et maintenir des bases de code plus anciennes en toute confiance.
1. Quel est le principal objectif d’un module dans Angular ?
2. Que contient généralement le décorateur @NgModule
?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.13
Introduction aux Modules dans Angular
Glissez pour afficher le menu
Imaginez que vous construisez une application. Au début, il ne s'agit que d'un seul fichier — comme main.ts
. Mais au fur et à mesure, vous ajoutez davantage : des composants, des services, des styles, de la logique, de la gestion de données, de l'authentification, etc.
Tôt ou tard, tout commence à devenir confus — il devient difficile de savoir ce qui est utilisé où ou comment tout est connecté.
C'est alors que la modularité devient votre meilleure alliée.
Qu'est-ce qu'un module dans Angular ?
Un module est une manière de regrouper les parties liées de votre application en blocs séparés, faciles à maintenir, à réutiliser et à tester.
Considérez un module comme une boîte où vous regroupez tout ce qui concerne une fonctionnalité spécifique. Par exemple, tous les éléments liés à l'utilisateur peuvent être placés dans un UserModule
.
Dans Angular, un module est simplement une classe annotée avec le décorateur @NgModule
, comme ceci :
app-component.ts
Voici le rôle de chaque partie :
-
declarations
: liste les composants, directives et pipes appartenant à ce module ; -
imports
: importe les autres modules dont celui-ci dépend (commeBrowserModule
pour l'accès au DOM) ; -
providers
: déclare les services (pour l'injection de dépendances) disponibles dans ce module ; -
bootstrap
: définit le composant principal à charger au démarrage de l'application (généralementAppComponent
).
En résumé, un module définit ses dépendances, ce qu'il met à disposition des autres modules, etc.
Tout composant interagissant avec ce module peut utiliser les services et autres ressources qu'il fournit.
Pourquoi nous n'utilisons pas les modules pour l'instant
Depuis Angular 14, il existe une nouvelle alternative — les composants autonomes.
Ceux-ci permettent de créer et d'utiliser un composant sans l'intégrer dans un module. Nous les avons d'ailleurs utilisés tout au long de notre projet, et ils ressemblent à ceci :
task-component.ts
Il s'agit d'un composant autonome — ce qui signifie qu'il n'a pas besoin d'être listé dans les déclarations d'un NgModule. À la place, tout ce dont il a besoin (comme les directives, pipes ou autres modules) est importé directement via la propriété imports à l'intérieur du composant lui-même.
Cela rend la structure de votre projet plus légère et plus flexible — particulièrement utile pour les petites applications ou les blocs de fonctionnalités isolés.
Nous approfondirons les composants autonomes plus tard dans cette section.
Même si les nouveaux projets Angular n'exigent plus l'utilisation de modules, vous les rencontrerez encore fréquemment :
-
Les anciennes applications d'entreprise sont entièrement construites avec des modules ;
-
De nombreux tutoriels, documentations et exemples utilisent encore
NgModule
; -
Certaines bibliothèques tierces et frameworks d'interface utilisateur reposent toujours sur l'approche basée sur les modules.
C'est pourquoi nous consacrerons un peu de temps à comprendre le fonctionnement de NgModule
— afin que vous puissiez lire et maintenir des bases de code plus anciennes en toute confiance.
1. Quel est le principal objectif d’un module dans Angular ?
2. Que contient généralement le décorateur @NgModule
?
Merci pour vos commentaires !