HooneyLog
© 2026 Seunghoon Shin. All rights reserved.
모든 게시글
nest.js
2025. 1. 4.•
1

Nest.js에서 Shell Script로 모듈, 컨트롤러, 서비스 자동 생성하기

Seunghoon Shin
작성자 Seunghoon Shin풀스택 개발자

Nest.js에서 Shell Script로 모듈, 컨트롤러, 서비스 자동 생성하기

Nest.js는 CLI 를 통해 모듈, 컨트롤러, 서비스를 생성할 수 있습니다. 그러나 기본적으로는 각각의 명령어를 개별적으로 실행해야 합니다. 이를 자동화하기 위해 Shell Script를 활용하여 한 번의 명령어로 관련 파일을 모두 생성하는 방법을 소개합니다.


1. Shell Script란?

Shell Script는 여러 명령어를 파일에 저장해 일괄적으로 실행할 수 있는 스크립트 파일입니다. Linux와 Mac 환경에서 주로 사용되며, 반복적인 작업을 자동화하는 데 유용합니다.

Nest.js 프로젝트에서 Shell Script를 사용하면 모듈, 컨트롤러, 서비스 파일을 한 번에 생성할 수 있어 개발 생산성을 높일 수 있습니다.


2. 스크립트 작성 방법

(1) 스크립트 코드

다음은 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!"

(2) 스크립트 저장

  1. 프로젝트 루트 디렉토리에 create-module.sh 파일로 저장합니다.

  2. 저장 후 실행 권한을 부여합니다:

    chmod +x create-module.sh

3. 스크립트 실행 방법

(1) 실행 명령어

저장한 스크립트를 실행하려면 다음 명령어를 사용합니다:

./create-module.sh <module-name>

(2) 예제

users라는 이름의 모듈, 컨트롤러, 서비스를 생성하려면:

./create-module.sh users

(3) 결과 확인

스크립트 실행 후 src/users/ 디렉토리에 다음 파일들이 생성됩니다:

src/users/ ├── users.controller.ts ├── users.controller.spec.ts ├── users.module.ts └── users.service.ts

4. 스크립트를 전역에서 실행하기

반복적으로 사용할 경우, 스크립트를 전역 명령어로 설정하면 더욱 편리합니다.

(1) 전역 경로에 복사

다음 명령어로 스크립트를 /usr/local/bin 디렉토리에 복사합니다:

sudo cp create-module.sh /usr/local/bin/create-module

(2) 전역 명령 실행

이제 어느 디렉토리에서든 다음 명령어로 실행할 수 있습니다:

create-module users

5. 주의 사항

  1. Windows 환경에서는 Shell Script 대신 PowerShell 스크립트를 사용하는 것이 적합합니다.

  2. 실행 권한이 없는 경우 chmod +x 명령어로 권한을 부여해야 합니다.

  3. 스크립트 실행 전에 Nest.js CLI가 설치되어 있어야 합니다:

    npm install -g @nestjs/cli

6. 결론

Shell Script를 활용하면 Nest.js의 반복적인 파일 생성을 자동화할 수 있어 개발 속도를 크게 향상시킬 수 있습니다.

← 이전 글Axios 인터셉터로 응답 및 요청 관리하기
다음 글 →NestJS 시작하기: 컨트롤러, 서비스, 그리고 모듈을 활용한 탄탄한 설계