main

nest.js 는 기본적으로 main.ts 파일을 가지게 된다. (파일명을 바꾸면 안된다!)

Untitled

bootstrap() 이라는 함수가 정의되어 있다. 여기에서 모든것이 시작된다.

코드를 보면 NestFactory 라는 곳에서 AppModule 을 사용하여 create 한다는데 커맨드 + 클릭으로 AppModule을 찾아 들어가보자.

Module

Untitled

app.module.ts 파일에 정의되어있다.

코드를 보면 AppModule 이라는 클래스가 정의되어 있고, @Module 이라는 이름으로 뭔가 정의가 되어있다.

이렇게 @로 시작하는것들을 Nest에서는 데코레이터 라고 부른다. 말 그대로, 함수를 꾸며주는 역할을 한다.

Nest.js 는 이 데코레이터들을 기준으로 움직이게 된다. (스프링의 어노테이션과 비슷하다!)

이 데코레이터들은 함수 또는 클래스 바로 위에 붙어있어야한다.

코드상으론 AppModule 이라는 클래스를 export 시키고 있는데, 그것에 대한 진짜 내용은 @Module 안에 있다.

@Module 안에서는 앞으로 사용될 파일들을 포함시켜주는 역할을 한다.

위의 코드를 예로 AppControllercontrollers 로 사용하겠다는 뜻이고, AppServiceproviders로 쓰겠다는 뜻이다.