3. Backend/NestJS / / 2024. 3. 13. 11:25

[코드팩토리 NestJS 강의] AppModule과 main.ts 파일

AppModule과 main.ts 파일

NestJS프레임워크는 어디서 모듈들을 찾아와서 어떤 모듈들을 NestJS안에서 관리를 해야되는지 알고있는거냐
NestJS프레임워크가 모듈들을 어떻게 알고 관리는 하는가 → app.module.ts ㄱ ㄱ

app.module.ts에 가면 imports가 더 있음 imports는 다른 모듈을 불러올때 사용하게 됨 ~> PostsModule을 불러오게 된 것만약 CLI로 안하고 파일들을 직접 만들었다면, app.module.ts에서 imports에 넣었어야함

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { PostsModule } from './posts/posts.module';

@Module({
  imports: [PostsModule],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

그럼 NestJS에서 app.module.ts가 있는것은 어떻게 아는가? → main.ts파일 ㄱㄱ

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

// bootstrap이 NestJS를 실행하는 함수!
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

NestFactory.create(AppModule); 로 인해 NestJS에서는 이 AppModule로부터 모듈을 확장해나가고 모듈 안에 있는 프로바이더들(파일과 폴더들)을 관리하면 되는구나를 알고 있는것

<정리>
새로운 모듈을 생성할때는 항상 앱모듈에 등록이 되고, 앱모듈은 main.ts에서 NestJS를 실행할떄 레퍼런스가 되어있으니까 AppModule로부터 모듈의 확장을 가져가고 AppModule안에 불러와져 있는 모듈들을 하나씩 봐가면서 프로바이더와 컨트롤러를 관리함

728x90
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유