Nest.js는 CLI 를 통해 모듈, 컨트롤러, 서비스를 생성할 수 있습니다. 그러나 기본적으로는 각각의 명령어를 개별적으로 실행해야 합니다. 이를 자동화하기 위해 Shell Script를 활용하여 한 번의 명령어로 관련 파일을 모두 생성하는 방법을 소개합니다.
Shell Script는 여러 명령어를 파일에 저장해 일괄적으로 실행할 수 있는 스크립트 파일입니다. Linux와 Mac 환경에서 주로 사용되며, 반복적인 작업을 자동화하는 데 유용합니다.
Nest.js 프로젝트에서 Shell Script를 사용하면 모듈, 컨트롤러, 서비스 파일을 한 번에 생성할 수 있어 개발 생산성을 높일 수 있습니다.
다음은 create-module.sh라는 파일 이름으로 저장할 Shell Script의 예제입니다:
#!/bin/bash # 모듈명이 입력되지 않았을 때의 처리 if [ -z "$1" ]; then echo "Usage: $0 <module-name>" exit 1 fi MODULE_NAME=$1 # 모듈, 컨트롤러, 서비스 생성 nest g mo $MODULE_NAME nest g co $MODULE_NAME nest g s $MODULE_NAME echo "Module, Controller, and Service for '$MODULE_NAME' created successfully!"
프로젝트 루트 디렉토리에 create-module.sh 파일로 저장합니다.
저장 후 실행 권한을 부여합니다:
chmod +x create-module.sh
저장한 스크립트를 실행하려면 다음 명령어를 사용합니다:
./create-module.sh <module-name>
users라는 이름의 모듈, 컨트롤러, 서비스를 생성하려면:
./create-module.sh users
스크립트 실행 후 src/users/ 디렉토리에 다음 파일들이 생성됩니다:
src/users/ ├── users.controller.ts ├── users.controller.spec.ts ├── users.module.ts └── users.service.ts
반복적으로 사용할 경우, 스크립트를 전역 명령어로 설정하면 더욱 편리합니다.
다음 명령어로 스크립트를 /usr/local/bin 디렉토리에 복사합니다:
sudo cp create-module.sh /usr/local/bin/create-module
이제 어느 디렉토리에서든 다음 명령어로 실행할 수 있습니다:
create-module users
Windows 환경에서는 Shell Script 대신 PowerShell 스크립트를 사용하는 것이 적합합니다.
실행 권한이 없는 경우 chmod +x 명령어로 권한을 부여해야 합니다.
스크립트 실행 전에 Nest.js CLI가 설치되어 있어야 합니다:
npm install -g @nestjs/cli
Shell Script를 활용하면 Nest.js의 반복적인 파일 생성을 자동화할 수 있어 개발 속도를 크게 향상시킬 수 있습니다.