Performance: Module re-exporting
MEDIUM IMPACT
Module re-exporting affects the initial load time and bundle size by controlling which modules are included and how dependencies are resolved.
import { CommonModule } from './common.module'; @Module({ imports: [CommonModule], exports: [CommonModule], }) export class SharedModule {} @Module({ imports: [SharedModule], }) export class FeatureModuleA {} @Module({ imports: [SharedModule], }) export class FeatureModuleB {}
import { CommonModule } from './common.module'; @Module({ imports: [CommonModule], exports: [CommonModule], }) export class FeatureModuleA {} @Module({ imports: [CommonModule], exports: [CommonModule], }) export class FeatureModuleB {}
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Direct multiple imports of same module | N/A | N/A | Increases script parsing time | [X] Bad |
| Centralized shared module re-export | N/A | N/A | Reduces script size and parsing time | [OK] Good |