TGViewer
Node.js Backend | YeaHub Node.js Backend | YeaHub @yeahub_node_backend · 465 subscribers
Post #407 149
🎶 Dependency Injection в Nest.js

DI — это то, что позволяет проекту оставаться масштабируемым и удобным. Вместо того чтобы руками создавать объекты, мы говорим фреймворку: «подкидывай зависимости сам»

🕺 Базовая идея
В Nest.js всё крутится вокруг провайдеров. Любой сервис, репозиторий или клиент можно зарегистрировать и потом внедрять в другие классы через конструктор

@Injectable()
export class UsersService {
constructor(private readonly repo: UsersRepo) {}
}


Nest сам найдёт UsersRepo, создаст его экземпляр и передаст в сервис

📦 Scopes (области жизни провайдера)
Нередко спрашивают на собесах, поэтому важно запомнить все скоупы

По умолчанию все провайдеры singleton — один экземпляр на всё приложение. Но иногда этого мало.

Nest поддерживает три области жизни:
1) Singleton (по умолчанию) — создаётся один раз при старте приложения
2) Request — новый экземпляр для каждого входящего запроса.
3) Transient — новый экземпляр при каждом внедрении

Request и Transient будут дороже по памяти, особенно под нагрузкой

🚀 Пост Guru Node.js: @DemetraIT
  • ❤ 2
  • 👍 2
  • 🔥 2
More from @yeahub_node_backend
  1. Oct 9, 2026#book #начинающие 📚 Node.js: разработка приложений в микросервисной архитектуре с нуля Ос…
  2. Oct 8, 2026#Собес #volume #bind #mount 🤔 Как считать данные, записанные контейнером? 💬 Кратко: Данн…
  3. Oct 7, 2026#Собес #event_loop #main_thread #blocking 🤔 Заблокирует ли бесконечный цикл взаимодействи…
  4. Oct 5, 2026#Собес #event_loop #asynchronous #nodejs 🤔 Что такое process.nextTick() 💬 Кратко: proces…
  5. Oct 2, 2026#podcast #все 📚 Kolesa Podcast Podcast by IT-компания Kolesa Group. В целом он обо всём и…
  6. Oct 1, 2026#Собес #date #timestamp #interval 🤔 Как работать с датами и временными интервалами в SQL?…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →