nest new . --strict --skip-git
—-skip-git
: 모노레포를 사용하므로, nest cli
에서 .git이 자동으로 생성되지 않게 막습니다.
--strict
: strictNullChecks
, noImplicitAny
등의 기본 세팅된 tsc strict 옵션을 설정합니다. 팀에서 이전에 함께 설정한 tsconfig.json
에서 벗어나지 않게 합니다.
결과로 애플리케이션의 루트 모듈인 app.module.ts
와 controller, service, spec
파일이 생성됩니다.
사용하지 않기 위해 삭제하려 하였으나, hello world
로 연결을 테스트하기 위해 남겨둡니다.
/api
를 설정프론트엔드 서버는 분리되어 있어 페이지 라우팅은 신경쓰지 않아도 됩니다.
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.useGlobalPipes(new ValidationPipe());
**app.setGlobalPrefix('api');**
await app.listen(3000);
}
bootstrap();
확장성을 위해 NestJS에서 제안하는 모듈 기반 구조를 적극적으로 이용합니다.
가장 먼저 프로젝트 등록 API를 위해 project의 모듈, 컨트롤러, 서비스 계층 클래스를 생성해야 합니다.
반복적인 작업을 피할 수 있게 NestJS CLI를 사용합니다.
nest g resource [name : 여기서는 project]
resource 대신 module, controller, service를 각각 명시하여 파일과 클래스를 생성할 수 있습니다.