프로그래밍/Nest.js

Nest.js 설치 및 설정: 프로젝트 설정 가이드

shimdh 2025. 3. 18. 09:22
728x90

Nest.js는 현대적인 JavaScript 기반의 웹 애플리케이션 프레임워크로, 효율적이고 확장 가능한 서버 측 애플리케이션을 구축하는 데 큰 도움을 줍니다. 이번 포스트에서는 Nest.js를 설치하고, 프로젝트를 설정하는 방법에 대해 자세히 알아보겠습니다.

1. Nest.js 설치 방법

Nest.js를 사용하기 위해서는 먼저 Node.js와 npm(Node Package Manager)이 필요합니다. 만약 Node.js가 이미 설치되어 있다면, 다음 단계로 넘어갈 수 있습니다.

Node.js 및 npm 확인

먼저, 아래 명령어를 실행하여 Node.js와 npm이 정상적으로 설치되었는지 확인합니다.

node -v
npm -v

위 명령어를 실행하여 버전이 출력되면, Node.js와 npm이 정상적으로 설치된 것입니다. 만약 설치되어 있지 않다면, Node.js 공식 웹사이트에서 다운로드하여 설치할 수 있습니다.

Nest CLI 설치

Nest CLI(Command Line Interface)는 새로운 Nest 프로젝트를 쉽게 생성하고 관리할 수 있는 도구입니다. 아래 명령어를 사용하여 전역적으로 Nest CLI를 설치합니다.

npm install -g @nestjs/cli

설치 확인

올바르게 설치되었는지 확인하려면 다음 명령어로 버전을 체크하세요.

nest --version

2. 프로젝트 설정

이제 실제로 새로운 Nest 프로젝트를 생성해 보겠습니다.

프로젝트 생성

아래 명령어를 사용하여 새 프로젝트를 생성합니다.

nest new my-nest-project

이때 my-nest-project는 여러분의 프로젝트 이름으로 변경 가능합니다. 이 명령어는 기본적인 디렉토리 구조와 필요한 파일들을 자동으로 생성해줍니다. 생성 과정에서 몇 가지 질문이 있을 수 있으며, 이에 따라 프로젝트의 설정을 조정할 수 있습니다.

디렉토리 구조 이해하기

생성된 디렉토리를 살펴보면 다음과 같은 주요 폴더와 파일들이 포함되어 있습니다:

  • src: 소스 코드가 위치하는 곳입니다. 이곳에서 애플리케이션의 모든 비즈니스 로직을 구현하게 됩니다.

    • app.module.ts: 애플리케이션의 루트 모듈로, 다른 모듈들을 포함하고 관리하는 역할을 합니다.
    • main.ts: 애플리케이션의 진입점으로, 서버를 시작하는 코드가 포함되어 있습니다.
  • package.json: 의존성과 스크립트를 관리하는 파일로, 프로젝트에 필요한 패키지와 그 버전 정보를 포함하고 있습니다.

서버 실행하기

이제 서버를 실행해 봅시다! 아래 명령어로 개발 서버를 시작할 수 있습니다:

npm run start:dev

브라우저에서 http://localhost:3000에 접속하면 "Hello World!" 메시지를 볼 수 있을 것입니다. 이는 기본적으로 제공되는 컨트롤러가 응답한 결과로, Nest.js의 기본적인 작동 방식을 확인할 수 있는 좋은 방법입니다.

실습 예제: 간단한 HelloWorld API 만들기

이제 간단한 HelloWorld API를 만들어 보겠습니다.

1. 컨트롤러 추가

먼저 새로운 컨트롤러 파일을 만들어봅시다:

nest generate controller hello 

2. 컨트롤러 수정

hello.controller.ts 파일을 열고 아래 코드를 추가합니다:

import { Controller, Get } from '@nestjs/common';

@Controller('hello')
export class HelloController {

    @Get()
    getHello(): string {
        return '안녕하세요!';
    }
}

3. 모듈 등록

app.module.ts에 방금 만든 HelloController를 등록해야 합니다:

import { Module } from '@nestjs/common';
import { HelloController } from './hello/hello.controller';

@Module({
  imports: [],
  controllers: [HelloController],
})
export class AppModule {}

4. 서버 재실행

서버가 이미 실행 중이라면 재시작해주세요:

npm run start:dev 

브라우저에서 http://localhost:3000/hello에 접속하면 "안녕하세요!"라는 메시지를 받을 수 있을 것입니다. 이는 우리가 만든 컨트롤러가 정상적으로 작동하고 있음을 의미합니다.

결론

이번 섹션에서는 Nest.js의 기본적인 설치 방법과 함께 첫 번째 프로젝트 생성을 위한 초기 설정 과정을 배웠습니다. 이러한 기초 작업들은 나중에 복잡한 기능들을 구현할 때 매우 중요한 밑바탕이 됩니다. 앞으로도 다양한 기능들을 탐색하며 더 깊은 지식을 쌓아나가길 바랍니다. Nest.js의 강력한 기능을 활용하여 여러분만의 독창적인 애플리케이션을 만들어 보세요!

728x90