[NestJS] NestJS와 폴더구조

·2023년 1월 27일
0
post-thumbnail

🦁️ NestJS가 뭘까


NestJS는 TypeScript를 지원하는 효율적이고 확장 가능한 NodeJS의 서버 애플리케이션 프레임워크라고 하며 OOP(Object Oriented Programming), FP(Functional Programming) 및 FRP(Function Reactive Programming) 요소를 결합하는 특징을 가지고 있다고 한다.

왜 NestJS를 쓰게 된 것일까? Node와 서버측 JS를 위한 훌륭한 모듈과 라이브러리 들이 존재해도 Architecture의 주요 문제들을 해결하지 못했기에 규칙이나 제약 구조와 프레임워크가 필요한 부분이 생기고 유지보수와 비용등에 어려움을 겪는 부분이 생겨나면서 이러한 문제점을 해결하고자 등장하였다고 한다. NestJS는 아키텍처 구조를 제공함으로써 NodeJS의 주요문제를 해결해준다고 한다.

👍 NestJS의 장점


  • 효율성 : 개발자와 팀이 고도로 테스트 가능하게 하고 확장 가능하며 느슨하게 결합되어 유지관리가 쉬운 어플리케이션을 만들 수 있는 즉시 사용 가능한 어플리케이션 아키텍처를 제공한다. 그 외에도 TypeScript기반의 프레임워크임과 동시에 DI와 IoC, Module을 이용한 구조화 등의 생산성에 두각을 나타낸다.
  • 안정성 : TypeScript 기반이기에 개발 시 발생가능한 오류들을 사전에 방지할 수 있도록 하며 Module의 분리화로 독립적인 Unit Test를 쉽게 작성 가능하도록 구현되어 있다.
  • 확장성 : Module Class를 지원하는 NestJS는 CLass 한 곳에 비슷한 기능과 개념들을 담아 캡슐화 하고 서로 Impot하는 것이 가능하도록 구현되어 있다고 한다. 이 모듈 구조는 아키텍처를 조직적으로 가져가게 하고 느슨한 결합을 가능하게 만들어 확장성과 테스트 가능성을 높인다고 한다.

🦁️ NestJS 폴더 구조란?


NestJS 폴더 구조는 기본적으로 필요한 것들을 미리 설치하고 구조를 정해서 프로젝트에 적용하게 된다. 그 구조는 대략 다음과 같다.

이처럼 NestJS를 통해 기본적으로 생성된 파일을 이용해 MVC패턴에 맞는 구조를 편하게 쓸 수 있으며 이는 곧 객체 지향적인 설계로 인해 더더욱 확장에 용이하고 효율성 좋은 앱을 만들 수 있게 도와준다고 할 수 있다.

profile
뉴비는 문서화를 습관화 해보자

0개의 댓글