Performance: Dynamic modules
MEDIUM IMPACT
Dynamic modules affect initial application startup time and bundle size by loading modules only when needed.
import { Module, DynamicModule } from '@nestjs/common'; @Module({}) export class FeatureModule { static forRoot(): DynamicModule { return { module: FeatureModule, providers: [], exports: [], }; } } @Module({ imports: [FeatureModule.forRoot()], }) export class AppModule {}
import { Module } from '@nestjs/common'; import { FeatureModule } from './feature.module'; @Module({ imports: [FeatureModule], }) export class AppModule {}
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Eager module loading | N/A (server-side) | N/A | N/A | [X] Bad |
| Dynamic module loading | N/A (server-side) | N/A | N/A | [OK] Good |