Nest - Nest의 디렉토리 구조

2023. 6. 18. 01:47카테고리 없음

목차
1. Nest의 디렉토리 구조와 역할

 

1. Nest의 디렉토리 구조와 역할

 

 

Nest 프로젝트를 생성하게 되면, 아래와 같은 디렉토리 구조를 갖게된다.

 

Nest 디렉토리 구조

여기서 src 폴더를 보게되면

 

src
|-- app.controller.spec.ts
|-- app.controller.ts
|-- app.module.ts
|-- app.service.ts
|-- main.ts

 

위와 같은 디렉토리 구조를 띄고 있다. 각각의 파일은 간략하게 나타내어 보면 다음과 같은 역할을 수행한다.

 

파일 역할
app.controller.ts 라우팅 역할을 가진 컨트롤러(http 요청 처리)
app.controller.spec.ts 컨트롤러에 대한 단위 테스트 파일
app.module.ts 어플리케이션의 루트(최상위) 모듈 파일
app.service.ts 단일 메서드(getHello())가 있는 서비스 파일
main.ts NestFactory의 create 메서드를 이용해서 Nest 앱 인스턴스를 생성하는 엔트리 파일(시작점)

 

 

main.ts 파일을 살펴보자.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

 

NestFactory의 create 메서드 안에 Appmodule(최상위 모듈)을 인자로 받아 3000번 포트로 실행을 시켜준다.

(NestFactory는 어플리케이션 인스턴스를 만들 수 있는 정적 메서드를 제공한다.)

 

NestFactory의 create 메서드는 어플리케이션을 반환한다.

 

express 라이브러리의 express()를 하였을 때의 반환값과 비슷한 역할을 한다.

 

이전 포스팅에서 말했던 다음의 명령어를 입력하면,

 

서버가 실행되어 HTTP 요청을 받을 수 있게된다.

 

$ npm run start

// :dev를 붙이면 파일의 코드가 변경되었을 때 서버를 다시 실행해준다.
$ npm run start:dev