728x90
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안에 불러와져 있는 모듈들을 하나씩 봐가면서 프로바이더와 컨트롤러를 관리함
'3. Backend > NestJS' 카테고리의 다른 글
[코드팩토리 NestJS 강의] Typeorm 사용해보기 (0) | 2024.03.14 |
---|---|
[코드팩토리 NestJS 강의] SQL & Docker (0) | 2024.03.14 |
[코드팩토리 NestJS 강의] Module, Provider and Inversion of Control (제어의 역전) (2) | 2024.03.12 |
[코드팩토리 NestJS 강의] Service (서비스) (0) | 2024.03.12 |
[코드팩토리 NestJS 강의] Query and Parameters (쿼리와 파라미터) (0) | 2024.03.12 |