NestJs란
- Node.js를 위한 점진적인 프레임워크로서, 효율적이고 신뢰성 높은 서버 사이드 애플리케이션을 구축하기 위해 설계된 프레임워크이다.
특징
- 모듈러 아키텍처
- 애플리케이션을 모듈 단위로 나누어 개발할 수 있어, 코드의 재사용성과 유지 보수성을 높인다
- 디코레이터 사용
- 클래스와 메소드에 데코레이터를 사용하여 코드의 가독성과 관리가 용이하다
- 예를 들어
@Controller, @Get, @Post
등의 데코레이터를 사용해 라우트를 정의한다.
- 프로바이더
- 비즈니스 로직을 처리하는 서비스 클래스
@Injectable
데코레이터를 사용해 정의하며, 의존성 주입을 통해 다른 클래스에 주입 가능
- 미들웨어
- 요청과 응답 사이에서 특정 작업을 수행
- Express의 미들웨어를 그대로 사용하거나, NestJS 스타일로 정의 가능
NestJS의 장점
- 구조화된 개발: 모듈러 구조를 통해 대규모 애플리케이션도 체계적으로 개발 가능
- 유지 보수성: 코드의 가독성과 재사용성이 높아 유지 보수가 용이
- 강력한 커뮤니티와 문서: 풍부한 문서와 활발한 커뮤니티 지원