
NestJS는 현재 Node.js 진영에서 활발히 쓰이는 백엔드 프레임워크로, Express와 Fastify를 기반으로 만들어졌으며 TypeScript를 100% 지원한다. (vanilla javascript로도 사용할 수 있지만 괜한 짓이다. TypeScript를 쓰
공식 문서에선 Controller, Provider, Module 순으로 이 세 가지를 설명하고 있지만 Controller나 Provider는 일단 Module이 만들어지고 나서 거기에 등록되는 게 우선이므로 Module부터 포스팅했다. 일단 NestJS 애플리케이션
이전 포스팅에서 다룬 module은 전부 정적(static) module이다. 그 말인즉슨, 런타임이 아니라 컴파일 시에 모두 provider가 구성된다는 뜻이다. 한 module에서 정의된 provider는 속한 module내의 모든 멤버가 export할 필요 없이
Controller는 NestJS에서 client의 요청을 받아서 응답을 되돌려주는 역할을 하는 객체이다. NestJS 내부적으로 라우팅 매커니즘을 사용하여 어떤 controller가 어떤 요청을 처리할 지를 결정한다. > @Controller Controll
NestJS에서 DI의 핵심은 Module과 Provider이다. 앞서 NestJS에서 Provider의 의존성 주입을 관리하는 주체가 Module이라고 했었다. 연관된 provider들은 module로 캡슐화되어 이곳저곳에 주입되어 사용된다. 사실상 NestJS
앞선 글에서 provider를 주입받는 방식은 Constructor-based 방식이었다. 즉, 생성자에서 멤버로 선언함과 동시에 의존성을 주입하는 것이었다. > 일반적인 provider 일반적인 provider(@Injectable 로 데코레이팅된)를 등록할 때,