Lesson 20 / 33

Environment & Configuration

Manage environment variables and configuration per environment.

ConfigModule setup

Use @nestjs/config to load and validate .env files automatically.

import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
      envFilePath: '.env'
    })
  ]
})
export class AppModule {}

Access & validate config

Inject ConfigService to read values; use Joi for schema validation.

import { ConfigService } from '@nestjs/config';

@Injectable()
export class AppService {
  constructor(private config: ConfigService) {}

  getPort() {
    return this.config.get<number>('PORT') || 3000;
  }
}