Modularité d'Angular
Les modules sont un excellent moyen d'organiser une application et de l'étendre avec des fonctionnalités de bibliothèques externes.
Les bibliothèques Angular sont des NgModules, tels que
FormsModule
,
HttpClientModule
et
RouterModule
.
De nombreuses bibliothèques tierces sont disponibles en tant que NgModules tels que :
Les NgModules consolident les composants, les directives et les pipes dans des blocs cohérents de fonctionnalités,
chacun étant axé sur une zone de fonctionnalités, un domaine métier d'application, un flux de travail ou une collection commune d'utilitaires.
Les modules peuvent également ajouter des services à l'application. Ces services peuvent être développés en interne,
comme quelque chose que vous développeriez vous-même ou provenir de sources extérieures, telles que le routeur Angular et le client HTTP.
Les modules peuvent être chargés au démarrage de l'application ou chargés de manière asynchrone par le routeur.
Les métadonnées NgModule effectuent les opérations suivantes :
- Déclare quels composants, directives et pipes appartiennent au module.
- Rend certains de ces composants, directives et pipes publics afin que les modèles de composants des autres modules puissent les utiliser.
- Importe d'autres modules avec les composants, les directives et les pipes dont les composants du module actuel ont besoin.
- Fournit des services que les autres composants d'application peuvent utiliser.
Chaque application Angular a au moins un module, le module racine. Vous amorcez ce module pour lancer l'application.
Le module racine est tout ce dont vous avez besoin dans une application simple avec quelques composants.
Au fur et à mesure que l'application grandit, vous refactorisez le module racine en modules de fonctionnalités
représentant des ensembles de fonctionnalités associées. Vous importez ensuite ces modules dans le module racine.