Shared Module

Certains modules sont utilisés par quasiment tous les composants de l'application (e.g.: CommonModule, FlexLayoutModule, RouterModule). Les importer dans chaque module peut s'avérer pénible.

Il est courant de factoriser ces imports en rassemblant toutes ces dépendances dans un module SharedModule importé par quasiment tous les autres modules de l'application.

src/app/shared/shared.module.ts
src/app/shared/shared.module.ts
@NgModule({
imports: SharedModule.MODULE_LIST,
exports: SharedModule.MODULE_LIST
})
export class SharedModule {
​
static readonly MODULE_LIST = [
CommonModule,
FlexLayoutModule,
RouterModule
];
​
}

Attention à ne pas trop surcharger ce module et en faire un "God Module".

N'y importez que les modules nécessaires pour quasiment tous les composants de l'application.