Partie 1 : Démarrer un projet sur de bonnes bases
Partie 2 : Construire un espace membre sécurisé avec JWT
Partie 3 : Implémenter des fonctionnalités métiers
Partie 4 : Bonus

2.2. Le module SharedModule

Le rôle du SharedModule est de centraliser l’importation des composants, des directives et des pipes, qui sont partagés par différents modules dans votre application. Il existe certains cas où vous hésiterez entre placer votre composant dans le CoreModule ou le SharedModule. Et il existe même des cas où il est toléré de mettre un service dans le SharedModule. Quel bazar, c’est à n’y rien comprendre au début ! Mais ne vous inquiétez pas, nous allons aborder calmement tous les cas possibles juste après. Je me suis assez creusé la tête là-dessus, je suis en mesure de vous donner des explications claires. 😉

  • Il faut créer un module nommé SharedModule dans votre projet, afin de centraliser les importations communes à plusieurs autres modules de votre application.
  • Le SharedModule permet de regrouper les composants génériques, les directives et les pipes.
  • Le SharedModule consiste uniquement à déclarer ces éléments communs, et à les réexporter ensuite.
  • Le SharedModule peut également servir à rassembler les importations récurrentes d’autres modules, comme le CommonModule ou le FormsModule. Cela vous évite de réécrire les mêmes importations dans tous vos modules. Pour rappel, le CommonModule doit être importé dans tous vos modules exceptés le module racine. Il s’agit de la brique minimale dont un module Angular a besoin pour fonctionner.
  • Le SharedModule doit être importé dans tous les autres modules qui en ont besoin, y compris le module racine AppModule si besoin.