빠르게 리마인드

설명
Tags
 

주요 구성 요소

  • 컨트롤러(Controller):
    • 들어온 요청이 뭔 지 파악하고 누구한테 처리하라고 던질 지 결정하는 요소
  • 서비스(Service):
    • 실질적인 비즈니스 로직을 처리하는 계층 데이터베이스 작업, 외부 API 호출 등의 실질적인 작업을 수행
  • 모듈(Module)
    • 컨트롤러와 서비스를 포함한 필요한 구성요소들을 묶어 하나의 모듈로 그룹화

모듈 간 관계

@Module({ imports: [OtherModule], // 다른 모듈 가져오기 controllers: [AppController], // 이 모듈에 속한 컨트롤러 providers: [AppService], // 이 모듈에 속한 서비스(프로바이더) exports: [AppService] // 다른 모듈에서 사용할 수 있도록 내보내기 }) export class AppModule {}

CLI 명령어

g : generate의 약자
  • nest new [프로젝트명]: 새 프로젝트 생성
  • nest g application [앱이름]: 모노레포 구조에서 새 애플리케이션 생성
    • 보통 일정규모 이상이 되면 도메인 단위, 비지니스 단위로 별도의 앱으로 취급하여 개발함.
    • 그 이유는 많이 사용되는 특정 영역만 독립적으로 확장한다거나 하는 등 관리 목적.
  • nest g controller [이름]: 새 컨트롤러 생성
  • nest g service [이름]: 새 서비스 생성
  • nest g module [이름]: 새 모듈 생성
  • nest g resource [이름]: CRUD 기능을 갖춘 리소스(컨트롤러, 서비스, 모듈 포함) 생성