DynamicModule

A module definition produced at runtime by a static method to support configuration.

Since NestJS 10/11 Spec ↗

Syntax

static forRoot(options): DynamicModule

Parameters

NameTypeRequiredDescription
options any No Configuration consumed by the module factory method.

Returns

DynamicModule — An object with module, providers, exports, and optional global flag.

Examples

import { Module, DynamicModule } from '@nestjs/common';

@Module({})
export class ConfigModule {
  static forRoot(options: { folder: string }): DynamicModule {
    return {
      module: ConfigModule,
      providers: [{ provide: 'CONFIG_OPTIONS', useValue: options }],
      exports: ['CONFIG_OPTIONS'],
      global: true,
    };
  }
}

Notes

Convention names the configuration method forRoot() (or forRootAsync()) for app-wide setup and forFeature() for per-feature registration. Set `global: true` to register exports globally.