Providers
Injectable classes or values registered in a module and resolved by the IoC container.
Syntax
providers: [ClassProvider | ValueProvider | FactoryProvider | ExistingProvider] Returns
Provider[] — Entries declared in a module metadata providers array.
Examples
import { Module } from '@nestjs/common';
import { CatsService } from './cats.service';
@Module({
providers: [
CatsService,
{ provide: 'API_KEY', useValue: process.env.API_KEY },
{
provide: 'CONNECTION',
useFactory: () => createConnection(),
},
],
})
export class CatsModule {}
Notes
Providers can be class providers (shorthand), value providers (useValue),
factory providers (useFactory with optional inject), or alias providers
(useExisting). They are singletons by default within their module scope.