✅ NestJS에 대해서
Nest(NestJS)는 효율적이고 확장 가능한 Node.js 서버 사이드 애플리케이션을 구축하기 위한 프레임워크입니다.
프로그레시브 JavaScript를 사용하고, TypeScript 로 개발되었으며 TypeScript를 완벽하게 지원 하지만, 개발자는 순수 JavaScript로 코딩할 수 있습니다. 또한 OOP(객체 지향 프로그래밍), FP(함수형 프로그래밍), FRP(함수형 반응형 프로그래밍)의 요소들을 결합합니다.
Nest는 Express나 Fastify 같은 Node.js 프레임워크보다 더 체계적이고 잘 짜인 틀을 제공합니다.
애플리케이션을 만들 수 있는 즉시 사용 가능한 애플리케이션 아키텍처를 제공하고 코드의 구조화와 모듈화, 재사용성, 유지보수성을 강조하고 있다.
✅ NestJS프로젝트 만들기
Nest CLI를 사용하여 프로젝트를 스캐폴딩(scaffolding) = 초기 폴더 구조와 필요한 파일들(Controller, Module 등)을 자동으로 생성하는 걸 말합니다. = 프로젝트 기본 뼈대 자동 생성하기
PC에 Node.js가 설치되어 있는지 확인을 해야 합니다.
master@~~% node -v
v20.11.1
Nest CLI를 사용하여 새 프로젝트를 생성해보겠습니다.
npm이 설치된 상태에서 OS 터미널에서 다음 명령어를 사용합니다.
$ sudo npm i -g @nestjs/cli
$ nest new project-name
✅ NestJS프로젝트 디렉토리 구성요소 파악
만들어진 디렉토리 구조다.
📁 src/
NestJS의 주요 코드가 들어있는 폴더입니다.
main.ts | 애플리케이션의 시작점. 여기서 Nest 애플리케이션을 실행합니다. (NestFactory.create(...)) |
app.module.ts | 루트 모듈. 다른 모듈들을 불러오고 앱을 구성하는 중심 역할을 합니다. |
app.controller.ts | 클라이언트의 요청을 처리하는 컨트롤러 (예: REST API) |
app.service.ts | 컨트롤러에서 호출하는 비즈니스 로직 (서비스 레이어) |
app.controller.spec.ts | app.controller.ts를 테스트하기 위한 유닛 테스트 파일 |
- E2E 테스트(End-to-End)를 위한 코드가 들어가는 디렉토리
- 실제 HTTP 요청처럼 테스트하는 코드가 여기에 들어갑니다.
.gitignore = Git으로 관리하지 않을 파일 목록 설정 (예: node_modules, .env)
.prettierrc = 코드 포매터 Prettier 설정 파일 (자동 들여쓰기/정렬 기준 정의)
eslint.config.mjs = 코드 스타일 검사 도구 ESlint 설정 파일
nest-cli.json = Nest CLI 설정 파일 (빌드 대상, 경로 지정)
package.json = 프로즈겥의 의존성 목록과 스크립트 정의 (npm run start 등)
README.md = 프로젝트 소개 문서
tsconfig.json = TypeScript 컴파일 설정
tsconfig.build.json = NestJS에서 빌드할 때 사용하는 TypeScript 설정
yarn.lock = 프로젝트 의존성의 정확한 버전 고정을 위한 파일(yarn 전용)
✅ 참고
Documentation | NestJS - A progressive Node.js framework
Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Rea
docs.nestjs.com
[NestJS] 프로젝트 생성 및 설정
먼저 PC에 Node.js가 설치되어 있는지 확인을 해야 합니다. 설치 되어있는 것이 확인 되었다면 Nest CLI를 사용하여 새 프로젝트를 생성해보겠습니다. npm이 설치된 상태에서 OS 터미널에서 다음 명령
velog.io