CLI 개요
생성일: 2024-03-12
수정일: 2024-03-12
Nest CLI는 Nest 애플리케이션을 초기화, 개발 및 유지 관리하는 데 도움이 되는 명령줄 인터페이스 도구다.
Nest CLI는 프로젝트 스캐폴딩, 개발 모드 서비스, 프로덕션 배포를 위한 애플리케이션 빌드 및 번들링 등 다양한 기능을 지원한다. 그리고 이를 통해 모범 사례 아키텍처 패턴을 구현하여 잘 구조화된 앱을 장려한다.
설치
npm install -g
명령을 사용하여 CLI를 전역으로 설치한다.
npm install -g @nestjs/cli
Note
또는 cli를 전역으로 설치하지 않고 npx @nestjs/cli@latest
명령을 사용할 수 있다.
기본 워크플로
설치가 완료되면 nest
실행 파일을 통해 OS 명령줄에서 직접 CLI 명령을 호출할 수 있다.
다음을 입력하여 사용 가능한 nest
명령을 확인한다:
nest --help
다음 명령을 사용하여 개별 명령에 대한 도움말을 확인한다.
아래 예제에서 generate
대신 new
, add
등의 명령을 대입하면 해당 명령에 대한 자세한 도움말을 볼 수 있다:
nest generate --help
개발 모드에서 새 기본 Nest 프로젝트를 생성, 빌드 및 실행하려면 새 프로젝트의 부모가 될 폴더로 이동하여 다음 명령을 실행한다:
nest new my-nest-project
cd my-nest-project
npm run start:dev
브라우저에서 http://localhost:3000 을 열어 새 애플리케이션이 실행되는 것을 확인한다. 소스 파일을 변경하면 앱이 자동으로 다시 컴파일되어 로드된다.
프로젝트 구조
nest new
를 실행하면 Nest는 새 폴더를 만들고 초기 파일 세트를 채워서 보일러플레이트 애플리케이션 구조를 생성한다. 이 문서 전체에 설명된 대로 이 기본 구조에서 계속 작업하면서 새 컴포넌트를 추가할 수 있다. nest new
로 생성된 프로젝트 구조를 표준 모드라고 한다. Nest는 여러 프로젝트와 라이브러리를 관리하기 위한 대체 구조인 모노레포 모드도 지원한다.
빌드 프로세스가 작동하는 방식에 관한 몇 가지 특정 고려 사항 이외에는 내장된 라이브러리 지원을 포함하여 나머지 Nest 기능 및 문서는 표준 및 모노레포 모드 프로젝트 구조에 모두 동일하게 적용된다. 사실, 향후 언제든지 표준 모드에서 모노레포 모드로 쉽게 전환할 수 있으므로 Nest에 대해 학습 중이면서 이 결정을 미룰 수 있다.
두 모드 중 하나를 사용하여 여러 프로젝트를 관리할 수 있다. 다음은 차이점을 간단히 요약한 것이다:
기능 | 표준 모드 | 모노레포 모드 |
---|---|---|
다중 프로젝트 | 별도의 파일 시스템 구조 | 단일 파일 시스템 구조 |
node_modules & package.json |
인스턴스 분리 | 모노레포 전체에서 공유 |
기본 컴파일러 | tsc |
webpack |
컴파일러 세팅 | 별도로 지정 | 프로젝트별로 재정의할 수 있는 모노레포 기본값 |
.eslintrc.js , .prettierc 등 과 같은 설정 파일 |
별도로 지정 | 모노레포 전체에서 공유 |
nest build & nest start 명령 |
프로젝트가 자동으로 선택된다 | default project가 선택된다 |
라이브러리 | npm 패키징을 통해 수동으로 관리 | 경로 관리 및 번들링을 포함한 기본 제공 지원 |
어떤 모드가 가장 적합한지 결정하는 데 도움이 되는 자세한 내용은 워크스페이스 및 라이브러리 섹션을 참조한다.
CLI 명령 문법
모든 nest
명령은 다음과 같이 동일한 형태를 따른다.
nest commandOrAlias requiredArg [optionalArg] [options]
예를 들어:
nest new my-nest-project --dry-run
여기서 new
는 commandOrAlias
다. new
명령의 별칭은 n
이다. my-nest-project
는 requiredArg
다. 명령줄에 requiredArg
가 제공되지 않으면 nest
가 이를 묻는 메시지를 표시한다. 또한 --dry-run
은 약식 -d
로 표현할 할 수 있다. 이를 염두에 두고 다음 명령은 위 명령과 동일하다:
nest n my-nest-project -d
대부분의 명령어와 일부 옵션에는 별칭이 있다. nest new --help
를 실행하여 이러한 옵션과 별칭을 확인할 수 있다.
명령 개요
nest <command> --help
명령을 사용하여 command 별 옵션을 확인할 수 있다.
각 명령에 대한 자세한 설명은 사용법을 참조한다.
명령 | 별칭 | 설명 |
---|---|---|
new |
n |
실행에 필요한 모든 보일러플레이트 파일이 포함된 새로운 표준 모드 애플리케이션을 스캐폴드한다. |
generate |
g |
스키마를 기반으로 파일을 생성 및/또는 수정한다. |
build |
애플리케이션 또는 워크스페이스를 출력 폴더에 컴파일한다. | |
start |
애플리케이션(또는 워크스페이스의 기본 프로젝트)을 컴파일하고 실행한다. | |
add |
Nest 라이브러리로 패키징된 라이브러리를 가져와서 설치 스키마를 실행한다. | |
info |
i |
설치된 Nest 패키지에 대한 정보 및 기타 유용한 시스템 정보를 표시한다. |