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
'NestJS' 카테고리의 다른 글
[Nest.js] PIPE (0) | 2023.08.27 |
---|---|
[Nest.js] TypeORM 이용한 CRUD (0) | 2023.08.22 |
[Nest.js] 기본 파일 구조 및 요청 흐름 (2) | 2023.08.20 |