Nest - Nest의 디렉토리 구조
2023. 6. 18. 01:47ㆍ카테고리 없음
목차 |
1. Nest의 디렉토리 구조와 역할 |
1. 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