본문 바로가기

개발/NestJS

[NestJS] NestJS 설치 및 로컬 서버 실행

NestJS 란?

  • NestJS는 Express처럼 node.js의 프레임 워크 중 하나입니다.
  • Express 가 높은 자유도를 갖고 있는 반면 NestJS 는 프레임워크 디자인 및 코드 규칙이 많이 강화되었습니다.
  • Typescript 기반의 OOP, FP, FRP를 지원합니다.
  • 안정적이며 확장에 용이하게 디자인되어있습니다.

Node.js 설치

NestJS를 사용하기 위해선 Node.js 가 필요합니다.

Node.js 공식 홈페이지에서 Node.js를 설치해줍니다. (안정적인 버전인 LTS 버전을 추천합니다.)

NestJS 프로젝트 생성

Node.js 를 설치하면 npm이라는 패키지 관리자도 함께 설치되기 때문에 지금부터 npm 패키지 관리자를 사용할 수 있습니다.

NestJS 서버를 구성하기 전에 @nestjs/cli 를 먼저 설치해 줍니다.

 

$ npm install -g @nestjs/cli

 

패키지가 설치되어있는 경로는 npm root -g 로 확인할 수 있습니다.

 

 

NestJS 프로젝트를 생성합니다.

$ nest new nestjs-blog

 

저는 패키지 매니저로 npm을 선택하여 설치해 주었습니다.

다음과 같이 프로젝트 생성이 되었으면 프로젝트 설치가 성공적으로 된 것입니다.

 

⚡  We will scaffold your app in a few seconds..

CREATE nestjs-blog/.eslintrc.js (665 bytes)
CREATE nestjs-blog/.prettierrc (51 bytes)
CREATE nestjs-blog/README.md (3340 bytes)
CREATE nestjs-blog/nest-cli.json (118 bytes)
CREATE nestjs-blog/package.json (1996 bytes)
CREATE nestjs-blog/tsconfig.build.json (97 bytes)
CREATE nestjs-blog/tsconfig.json (546 bytes)
CREATE nestjs-blog/src/app.controller.spec.ts (617 bytes)
CREATE nestjs-blog/src/app.controller.ts (274 bytes)
CREATE nestjs-blog/src/app.module.ts (249 bytes)
CREATE nestjs-blog/src/app.service.ts (142 bytes)
CREATE nestjs-blog/src/main.ts (208 bytes)
CREATE nestjs-blog/test/app.e2e-spec.ts (630 bytes)
CREATE nestjs-blog/test/jest-e2e.json (183 bytes)

? Which package manager would you ❤️  to use? npm
▹▹▹▸▹ Installation in progress... ☕
✔ Installation in progress... ☕

🚀  Successfully created project nestjs-blog

 

로컬 서버 실행

이렇게 설치가 마무리되었으면 바로 로컬 서버를 실행할 수 있습니다.

저는 개발 모드로 서버를 실행했습니다.

package.js 파일을 열어 보면 서버 실행의 다양한 방법이 기본적으로 만들어져 있는 것을 확인하실 수 있습니다.

 

$ npm run start:dev

 

 

main.ts 가 서버 실행 시 가장 먼저 호출되는 부분인데요 코드 내용을 확인해 보면 port 3000번으로 서버가 실행된 것을 보실 수 있습니다.

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

 

 

브라우저에서 정상적으로 서버가 동작되었는지 페이지를 열어 봅시다.

 

브라우저에서 로컬서버 확인

 

Hello World! 가 보이시나요 그렇다면 로컬 서버가 정상적으로 실행된 것입이니다.