Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda How Providers Work in Nest.js | Section
Building Backend Applications with Nest.js

How Providers Work in Nest.js

Deslize para mostrar o menu

Previously, you learned that Nest.js can inject dependencies automatically. But how does Nest.js know which classes it can create?

To make a class available for dependency injection, you mark it with the @Injectable() decorator.

@Injectable()
export class UsersService {}

Next, register the service inside a module using the providers array.

@Module({
  providers: [UsersService],
})

Here is what is happening:

  • @Injectable() tells Nest.js that the class can be managed by the framework;
  • providers registers the service with the module;
  • Nest.js creates a single instance of the service;
  • Whenever another class requests UsersService, Nest.js provides the same instance automatically.

For example, the controller can now receive the service through its constructor:

constructor(private usersService: UsersService) {}

This system keeps your application organized by allowing different parts of your code to work together without manually creating or managing objects.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 13

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 13
some-alt