본문 바로가기

JAVASCRIPT

[NestJs] NestJs 설치

 

본 포스팅은  NestJs 세팅 관련 글을 작성 하겠습니다.

본 글은 공식 문서를 참고하여 작성 하였습니다.

 

NestJs 소개

Nest Js는 Node.js의 효율적이고 확장가능한 애플리케이션을 구축하기 위한 프레임워크입니다. 

TypeScript를 사용을 하지만 Javascript로도 코딩이 가능합니다. 또한, OOP(객체 지향 프로그래밍), , FP(기능 프로그래밍) 및 FRP(기능 반응 프로그래밍) 요소를 결합합니다. 

NestJs는 기본값으로 Express 의 서버 프레임워크를 사용하며 Fastify 를 사용하도록 구성 할 수 있습니다.

이러한 일반적인 Node.js 프레임워크(Express/Fastify)보다 높은 수준의 추상화를 제공하지만 해당 API를 개발자에게 직접 공개하며 이를 통해 개발자는 기본 플랫폼에서 사용할 수 있는 수많은 타사 모듈을 자유롭게 사용할 수 있습니다.

 

NestJs 설치

$ npm i -g @nestjs/cli
$ nest new project-name

 

위의 nest new project-name을 선택하면 위의 이미지와 같이 나옵니다. 주로 사용하는 것을 선택하면 됩니다.

 

 

위의 명령어로 설치가 완료되었으면 위의 이미지처럼   src 폴더가 생성되고 하위 폴더안에 위와 같은 파일들이 생성된 것들을 볼 수 있습니다. 

 

app.controller.ts 단일 경로가 있는 기본 컨트롤러입니다.
app.controller.spec.ts 컨트롤러에 대한 단위 테스트입니다.
app.module.ts 애플리케이션의 루트 모듈입니다.
app.service.ts 단일 방식의 기본 서비스입니다.
main.ts NestFactory핵심 기능을 사용하여 Nest 애플리케이션 인스턴스를 생성하는 애플리케이션의 항목 파일입니다 .

 

const app = await NestFactory.create<NestExpressApplication>(AppModule);

main.ts에서 <NestExpressApplication>을 입력하면 명시적으로 Express 사용하는 것이며 기본 생성된 것을 사용해도 express가 사용이 됩니다.

 

Fastify를 사용하기 위해서는

yarn add @nestjs/platform-fastify
npm i --save @nestjs/platform-fastify

설치한 다음에 아래와 같이 수정하시면 Fastify를 사용 할 수 있습니다. 

const app = await NestFactory.create<NestFastifyApplication>(AppModule);

 

 

NestJs 실행

이후 NestJs를 실행 하기 위해서는

npm run start      // 애플리케이션 실행
npm run start:dev  // 개발서버로 애플리케이션 실행

yarn run start     // 애플리케이션 실행
yarn run start:dev // 개발서버로 애플리케이션 실행

 

npm과 yarn은 처음 project 생성할때 선택한 것으로 정해집니다.

CLI는 package.json에서 자세한 명령어를 확인 할 수 있습니다.

 

참고자료 : https://docs.nestjs.com/first-steps

'JAVASCRIPT' 카테고리의 다른 글

[NestJs] 환경변수 설정  (0) 2024.05.06