Nest.js 공식문서 정리
1. Nest, 실행
oniri1
2024. 10. 22. 17:14
핵심 파일에 대한 간략한 개요는 다음과 같습니다.
파일명 | 내용 |
---|---|
app.controller.ts |
단일 경로를 갖춘 기본 컨트롤러 (RestFul API를 설정한다.) |
app.controller.spec.ts |
컨트롤러에 대한 단위 테스트. spec를 붙인 것들은 테스트 용도다. |
app.module.ts |
애플리케이션의 루트 모듈. |
app.service.ts |
단일 함수를 작성함 |
main.ts |
NestFactory 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(process.env.PORT ?? 3000);
}
bootstrap();
Nest APP 인스턴스를 생성하려면 위 코드의 core에서 NestFactory
클래스를 사용합니다.
- 이
create()
메서드는 인터페이스를 충족하는 애플리케이션 객체를 반환(인자로는 루트 모듈을 넘겨준다.)
기본적으로 서버 실행 시 오류가 발생하면 APP 인스턴스가 종료되는데, 종료를 막고 오류를 생성하고 싶으면
abortOnError
를 create시 옵션으로 넘겨주면 된다.
(예:NestFactory.create(AppModule, { abortOnError: false })
)
실행
기본적으로 package.json에 nest 관련 명령어가 설치되어 있다.
npm run start
nodemon
기본적으로 nest에는 파일 감시기능이 포함되어 nodemon을 따로 설치할 필요가 없다.
$ npm run start:dev
해당 명령어로 APP을 실행하면, 코드의 변화를 감지하는 상태로 서버가 열린다.
linter 및 formatter
IDE가 필요 없는 헤드리스 환경(지속적인 통합, Git 후크 등)의 경우 Nest 프로젝트에는 즉시 사용할 수 있는 npm
스크립트가 제공된다.
# Lint and autofix with eslint
npm run lint
# Format with prettier
npm run format