반응형

nest.js

 

 

1. Nest.js 사용이유

Nest.js는 구조화된 코드 작성, 의존성 관리, 유연한 미들웨어 처리, 데이터 유효성 검사등의 장점을 제공하여 백엔드 애플리케이션 개발을 효율적이고 유지보수하기 쉽게 만들어주는 프레임워크입니다.

 

2. Nest.js 특징

1. 모듈러 아키텍처 : Nest.js는 애플리케이션을 모듈 단위로 구성하여 코드를 구조화하고 유지보수하기 쉽게 만들어줍니다.

2. 의존성 주입 : 의존성 주입은 컴포넌트 간의 의존성을 효율적으로 관리하고 분리하는 방법을 제공합니다.

3. 데코레이터 : 데코레이터는 컨트롤러, 서비스 등의 메타데이터를 정의하여 사용합니다. 이를 통해 라이팅, 유효성 검사 등을 더 쉽게 처리할 수 있습니다.

 

3. Express 프레임워크와 비교

Node.js를 이용한 백엔드 서버는 Express가 많이 보편적으로 사용되어 왔습니다. 미니멀리스트적인 접근 방식을 취하고, 기본적인 웹 프레임워크로서 필요한 기능만 제공하며, 개발자가 직접 확장하거나 추가 기능을 구현해야 합니다.

반면에 Nest.js는 구조화된 코드, 의존서 주입, TypeScript의 강력한 지원과 같은 장점을 통해 큰 규모의 백엔드 애플리케이션을 더 효율적으로 개발하고 유지보수 할 수 있도록 도와줍니다.

 

4. Nest.js Setup

Nest CLI를 사용하여 새 프로젝트를 설정할 수 있습니다.

npm이 설치된 상태에서 터미널에 아래와 같이 명령어를 사용하여 Nest 프로젝트를 만들어줍니다.

 

4.1) 프로젝트 생성

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

 

디렉토리가 프로젝트 이름으로 생성되고 노드 모듈 및 여러 파일과 src/ 생성되어 여러 코어 파일이 생성됩니다.

 

main.ts

 - NestFactory 핵심 기능을 사용하여 Nest 애플리케이션 인스턴스를 생성하는 애플리케이션 엔트리 파일입니다.

 - app.listen() : 웹 어플리케이션 포트

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

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

 

4.2) 프로젝트 실행

$ npm run start			프로젝트 실행
$ npm run start:dev		파일의 변경 사항을 적용하려면 개발 모드로 실행

 

http://localhost:3000 으로 접속 성공

다음장에서는 기본적으로 생성된 파일 역할을 간략하게 설명하고 localhost:3000에 접속하였을 때 nest.js 애플리케이션의 간단한 진행 흐름을 알아보도록 하겠습니다.

 

 

 

참고 

- https://docs.nestjs.com/first-steps

 

728x90
반응형

'NestJS' 카테고리의 다른 글

[Nest.js] PIPE  (0) 2023.08.27
[Nest.js] TypeORM 이용한 CRUD  (0) 2023.08.22
[Nest.js] 기본 파일 구조 및 요청 흐름  (2) 2023.08.20

+ Recent posts