Je ne l'utilisation de cette approche de moi, et voici pourquoi/comment :
(c'est une démarche, et peut-être que d'autres personnes ont != des idées qui est très bien)
Je tiens à garder l' app.module
aussi propre que possible. Si vous souhaitez utiliser universelle ou à construire votre projet avec AOT (lorsque vous n'utilisez pas angulaire-cli) vous devez disposer d'un double app.module avec de petits changements dans tous ces dossiers.
Donc, si vous importez plusieurs modules dans votre app.module
, vous aurez à maintenir cette liste à jour dans les différents fichiers.
Voici l' core.module
:
Mettre chaque module que vous ne souhaitez importer une fois ici. Principalement, les modules avec forRoot
méthodes (celles que les exportations de leurs fournisseurs et qui doivent être importées en une seule fois).
Importer également de vos fournisseurs, ici.
(si vous utilisez ngrx par exemple, déclarer votre magasin ici).
Ensuite, l' shared.module
:
Mettre chaque module, vous aurez à réutiliser dans votre application (CommonModule, HttpModule, RouterModule, MaterialModule, FlexLayoutModule, etc).
Enfin, app.module
:
L'importation en app.module
votre core.module
SEULEMENT ICI. CoreModule devrait être chargé qu'une seule fois. Dans tous vos submobules, vous pouvez charger l' SharedModule
.
Avec cette configuration, si vous avez besoin de créer une autre application.module universel ou d'autres, vous n'avez pas à copier et à maintenir l'ensemble de la liste des modules dans des fichiers différents. Il suffit d'importer le core.module
et vous êtes bon pour aller.