프레임워크 개발 시 프레임워크에서 사용하는 패키지들을 설치하고, 프레임워크 구조에 맞게 폴더 구조를 만들어야 하는데 이 과정이 쉽지 않다.
NestJS는 초기 설정을 위해 Nest CLI라는 기능을 지원한다. Nest CLI는 아래 기능들을 제공한다.
- 프로젝트 생성
- 프로젝트에 필요한 패키지 설치
- 프로젝트 실행/빌드/테스트
- 프로젝트 구성요소 생성
Nest CLI 설치
npm i -g @nestjs/cli
nest info #버전 확인을 통해 설치 확인
프로젝트 생성
nest new 프로젝트명
ESLint 설정(윈도우즈 운영체제)
윈도우즈의 경우 ESLint 설정에 아래 코드 추가
"prettier/prettier": [
"error",
{
"endOfLine": "auto"
}
],
프로젝트 시작
npm run start # 개발 모드지만 코드 변경 시 수동으로 서버를 재시작 해야 함
npm run start:dev # 코드 변경 시 자동으로 서버 재시작
npm run start:prod # 운영 환경에서 시작
프로젝트 테스트
npm run test # unit tests
npm run test:e2e # e2e tests
npm run test:cov # test coverage
프로젝트 빌드
npm build
스키매틱(schematic)
스키매틱(schematic)은 미리 정의된 템플릿을 뜻한다. Nest CLI를 이용해 스키매틱을 생성하면 기능을 간편하게 추가할 수 있다.
스키매틱 생성
nest generate 스키매틱종류 모듈명
nest generate 스키매틱종류 모듈명 --no-spec # 단위 테스트 파일 미생성
스키매틱 종류
아래 스키매틱들은 Nest에서 기본으로 제공하는 스키매틱들이다.
스키매틱을 생성하면 단순히 파일만 추가되는 것이 아니라 폴더 구조도 자동으로 생성되고, import도 자동으로 된다.
controller, module, service, resource 이외에는 잘 사용하지 않으니 나머지는 알아만 두자.
스키매틱 종류 | 약어 | 설명 |
app | 단일 저장소 내에서 새 애플리케이션을 생성 (표준 구조인 경우 단일 저장소로 변환) |
|
library | lib | 단일 저장소 내에서 새 라이브러리를 생성 (표준 구조인 경우 단일 저장소로 변환) |
class | cl | 새 클래스를 생성 |
controller | co | 컨트롤러 생성 |
decorator | d | 사용자 정의 데코레이터 생성 |
filter | f | 사용자 정의 필터 생성 |
gateway | ga | 사용자 정의 게이트웨이 생성 |
guard | gu | 사용자 정의 가드 생성 |
interface | itf | 인터페이스 생성 |
interceptor | ifc | 사용자 정의 인터셉터 생성 |
middleware | mi | 사용자 정의 미들웨어 생성 |
module | mo | 모듈 생성 |
pipe | pi | 사용자 정의 파이프 생성 |
provider | pr | 프로바이더 생성 |
resolver | r | 사용자 정의 리졸버 생성 |
resource | res | CRUD 리소스 생성 (Module, Controller, Service 생성) |
service | s | 서비스 생성 |
'NestJS > NestJS 문서화' 카테고리의 다른 글
컨트롤러 (0) | 2025.04.23 |
---|---|
모듈 (0) | 2025.04.23 |
NestJS의 요청 처리 과정 (0) | 2025.04.14 |
NestJS 프로젝트 기본 구조 (0) | 2025.04.14 |
NestJS란 (0) | 2025.04.14 |