Performance: Global modules
MEDIUM IMPACT
Global modules affect the initial load time and memory usage by making services available app-wide without repeated imports.
import { Global, Module } from '@nestjs/common'; @Global() @Module({ providers: [SharedService], exports: [SharedService], }) export class SharedModule {} @Module({ imports: [SharedModule], }) export class AppModule {}
import { ModuleA } from './module-a'; import { ModuleB } from './module-b'; @Module({ imports: [ModuleA, ModuleB], }) export class AppModule {}
| Pattern | Module Imports | Service Instantiations | Bundle Size Impact | Verdict |
|---|---|---|---|---|
| Repeated imports of shared services | Multiple | Multiple | Larger | [X] Bad |
| Global module with shared services | Single global import | Single | Smaller | [OK] Good |