CoreModule
qui contient les services de base de l’application. Comment le créer et comment l’utiliser ?Créer un CoreModule
Un CoreModule
est un simple module Angular, dont le rôle est de déclarer les providers singletons de l’application.
Le nom “CoreModule” est une simple convention, et vous n’êtes pas obligé de créer un tel module dans votre projet.
Le CoreModule
contient généralement des providers
(services) très transversaux, susceptibles d’être utilisés partout dans l’application et qui doivent impérativement être des singletons (c. à d. exister en un seul exemplaire).
En plus de ces services, le CoreModule
peut parfois contenir des declarations
exportées qu’on ne veut rendre disponibles que dans AppModule
.
Exemple de CoreModule
:
@NgModule({
providers: [ AuthService, ModalService...],
// Éventuellement :
declarations: [ ModalComponent ],
exports: [ ModalComponent ],
})
export class CoreModule {}
Utiliser le CoreModule
Le CoreModule
ne doit être importé qu’une seule fois dans l’application, par le module AppModule
.
@NgModule({
imports: [ BrowserModule, CoreModule... ],
// ...
})
export class AppModule {}
En effet, puisque les providers d’un module sont globaux, il suffit d’importer CoreModule
une fois pour rendre ses providers disponibles partout dans l’application (= dans TOUS LES MODULES de l’application).
Si CoreModule
contenait des declarations
exportées, ces dernières ne seraient donc accessibles que dans AppModule
, ce qui limite l’usage de ces déclarations aux éléments qui ne doivent être affichés que dans AppModule
.