본 포스팅은 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에서 자세한 명령어를 확인 할 수 있습니다.
'JAVASCRIPT' 카테고리의 다른 글
[NestJs] 환경변수 설정 (0) | 2024.05.06 |
---|