프로그래밍/Nest.js

첫 번째 Nest.js 애플리케이션 만들기: 프로젝트 생성

shimdh 2025. 3. 16. 20:49
728x90

Nest.js는 현대적인 서버 사이드 애플리케이션을 구축하기 위한 강력하고 유연한 프레임워크로, TypeScript를 기반으로 하고 있습니다. 이번 포스트에서는 Nest.js의 첫 번째 애플리케이션을 만드는 과정 중에서 프로젝트 생성에 대해 자세히 살펴보겠습니다. 이 과정은 개발자가 Nest.js의 기본 구조를 이해하고, 효율적인 코드 작성 및 유지 보수를 가능하게 하는 중요한 단계입니다.

1. 프로젝트 생성의 중요성

프로젝트 생성을 통해 개발자는 Nest.js의 기본 구조와 파일 시스템을 이해하게 됩니다. 이는 코드 작성과 유지 보수를 보다 효율적으로 할 수 있도록 도와줍니다. 프로젝트의 초기 설정은 향후 개발 과정에서 발생할 수 있는 여러 문제를 예방하고, 팀원 간의 협업을 원활하게 하는 데 큰 역할을 합니다. 따라서, 프로젝트 생성 단계는 단순한 시작이 아니라, 전체 개발 과정의 기초를 다지는 중요한 작업입니다.

2. Nest CLI 설치

Nest.js 프로젝트를 쉽게 관리하고 생성하기 위해서는 Nest CLI(Command Line Interface)를 사용하는 것이 좋습니다. Nest CLI는 프로젝트 생성, 빌드, 테스트 등 다양한 작업을 간편하게 수행할 수 있도록 도와주는 도구입니다. 다음 명령어를 사용하여 전역적으로 설치할 수 있습니다:

npm install -g @nestjs/cli

이렇게 하면 nest라는 명령어를 사용할 수 있게 되며, 이를 통해 새로운 프로젝트를 쉽게 시작할 수 있습니다. Nest CLI를 사용하면 프로젝트의 구조를 자동으로 설정하고, 필요한 패키지를 설치하는 등의 작업을 수월하게 진행할 수 있습니다.

3. 새로운 프로젝트 생성

Nest CLI가 설치되었다면, 다음 명령어로 새 Nest.js 프로젝트를 생성할 수 있습니다:

nest new my-nest-app

위의 명령어에서 my-nest-app은 여러분이 원하는 프로젝트 이름으로 변경 가능합니다. 이 명령어는 다음과 같은 작업을 수행합니다:

  • 기본 파일 및 디렉토리 구조 설정.
  • 필요한 패키지 자동 설치.
  • 초기 구성 파일 제공.

예시:

$ nest new my-first-project
? Would you like to use npm or yarn? npm 

여기서 npm 또는 yarn 중 하나를 선택하라는 메시지가 표시됩니다. 이 선택은 프로젝트의 패키지 관리 방식에 영향을 미치므로, 개인의 선호에 따라 결정하면 됩니다.

4. 디렉토리 구조 이해하기

새로운 Nest.js 프로젝트가 만들어지면, 아래와 같은 기본 디렉토리 구조가 형성됩니다:

my-nest-app/
├── src/
│   ├── app.controller.ts
│   ├── app.module.ts
│   ├── app.service.ts
│   └── main.ts
├── test/
├── package.json
└── tsconfig.json
  • src/: 모든 소스 코드가 위치하는 폴더입니다. 이 폴더는 애플리케이션의 핵심 로직이 담긴 곳으로, 개발자가 작성한 코드가 이곳에 저장됩니다.
    • app.controller.ts: 요청을 처리하는 컨트롤러 로직이 포함되어 있습니다. 클라이언트의 요청을 받아 적절한 응답을 반환하는 역할을 합니다.
    • app.module.ts: 모듈 정의 및 의존성 주입 설정이 이루어집니다. Nest.js의 모듈 시스템을 통해 애플리케이션의 구성 요소를 관리합니다.
    • app.service.ts: 비즈니스 로직이 구현되는 서비스입니다. 데이터 처리 및 비즈니스 규칙을 담당하여, 컨트롤러와의 분리를 통해 코드의 가독성을 높입니다.
    • main.ts: 애플리케이션의 진입점으로, 서버 실행 관련 코드가 포함되어 있습니다. 이 파일에서 애플리케이션을 부트스트랩하고, HTTP 서버를 시작하는 작업이 이루어집니다.

5. 실행 준비하기

프로젝트가 성공적으로 생성된 후에는 해당 디렉토리로 이동하여 개발 서버를 시작할 차례입니다:

cd my-nest-app 
npm run start 

브라우저에서 http://localhost:3000에 접속하면 "Hello World!" 메시지를 확인할 수 있을 것입니다. 이는 기본 컨트롤러(AppController)에서 반환된 응답으로, 애플리케이션이 정상적으로 작동하고 있음을 나타냅니다.

6. 요약 및 실습 예제

첫 번째 Nest.js 애플리케이션을 만드는 과정은 매우 간단하지만 중요한 단계입니다:

  • CLI 사용법 익히기: Nest CLI를 통해 프로젝트를 생성하고 관리하는 방법을 익힙니다.
  • 디렉토리 구조 이해하기: 생성된 프로젝트의 파일 및 폴더 구조를 이해하여, 각 파일의 역할을 명확히 합니다.
  • 서버 실행 및 테스트: 개발 서버를 실행하고, 애플리케이션이 정상적으로 작동하는지 확인합니다.

실습 예제로는 간단한 REST API 엔드포인트 추가해보기입니다:

  1. app.controller.ts 파일에 새로운 메서드를 추가하여 /hello 경로에서 "Hello from /hello" 메시지를 반환하도록 수정합니다.
@Get('hello')
getHello(): string {
  return 'Hello from /hello';
}
  1. 이후 브라우저나 Postman 등을 이용해 /hello 경로에 접근하면 해당 메시지를 확인할 수 있을 것입니다. 이 과정을 통해 Nest.js의 기본적인 라우팅 및 컨트롤러 작동 방식을 이해할 수 있습니다.

이러한 방식으로 첫 번째 Nest.js 애플리케이션을 만들고 진행하면서 점차 더 복잡한 기능들을 탐색해 나갈 준비가 될 것입니다. 이 경험은 여러분이 더 나아가 Nest.js의 다양한 기능을 활용하고, 실제 애플리케이션을 개발하는 데 큰 도움이 될 것입니다.

728x90