🔍 NestJS란?
NestJS는 Node.js 기반의 웹 API 프레임워크로,
Express.js를 기본 프레임워크로 사용하며 Fastify와도 호환됩니다.
- ✨ 주요 특징
- 자바스크립트와 타입스크립트를 완벽 지원
- 객체지향 프로그래밍(OOP), 함수형 프로그래밍(FP), 함수 반응형 프로그래밍(FRP)을 결합
- 유지보수성과 확장성이 뛰어난 코드 작성 가능
🛠️ NestJS 설치 방법
1️⃣ Node.js 설치
안정적인 LTS 버전 설치를 권장합니다.
Node.js 공식 다운로드 페이지
Node.js®는 Chrome의 V8 자바스크립트 엔진 기반의 자바스크립트 런타임입니다.
2️⃣ NestJS CLI 설치 (yarn 사용 기준)
npm install -g yarn # npm이 없으면 먼저 설치
yarn global add @nestjs/cli # NestJS CLI 전역 설치
3️⃣ 설치 확인
nest --version
4️⃣ 프로젝트 생성
nest new gymmate-api
5️⃣ 프로젝트 실행
yarn run start
6️⃣ CORS 설정 (웹 연동)
# CORS 허용, 환경 변수 처리 등 기본적으로 많이 씀
npm install @nestjs/config
npm install cors
// src/main.ts
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.enableCors(); // 이 줄 추가
await app.listen(3001); // 3000번 포트 -> 3001번 포트로 변경 (웹과 포트 충돌 방지)
}
bootstrap();
7️⃣ AppModule 설정 추가
// src/app.module.ts
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: '.env', // 루트 기준으로 작성
isGlobal: true, // 어디서든 사용할 수 있게 전역 등록
}),
],
})
export class AppModule {}
8️⃣ 테스트 API 작성
// src/test/test.controller.ts
import { Controller, Get } from '@nestjs/common';
@Controller('api/test')
export class TestController {
@Get()
getTest() {
return { message: 'Hello from NestJS 🎉'};
}
}
🔟 COMPLETE
'사이드프로젝트' 카테고리의 다른 글
🚀 [Next.js] 웹 초기 설정 : gymmate-web (0) | 2025.05.24 |
---|---|
💪 SaaS형 헬스장 회원권 관리 시스템 GYMMATE (1) | 2025.05.24 |