자바스크립트로 쉽게 배우는 NestJS 프레임워크

NestJS는 Node.js를 위한 프레임워크로, 자바스크립트를 사용하여 서버 애플리케이션을 쉽게 개발할 수 있게 해줍니다. NestJS는 Express.js, Fastify 등의 웹 프레임워크를 기반으로 하며, Angular와 비슷한 구조와 문법을 가지고 있습니다. 이번 글에서는 NestJS를 자바스크립트로 쉽게 배우는 방법을 알아보겠습니다.

1. NestJS 설치하기

NestJS를 사용하기 위해서는 Node.js와 npm이 설치되어 있어야 합니다. 먼저 다음 명령어를 사용하여 NestJS CLI를 전역으로 설치합니다.

npm install -g @nestjs/cli

설치가 완료되면 다음 명령어로 NestJS 애플리케이션을 생성할 수 있습니다.

nest new my-app

이 명령어를 실행하면 my-app이라는 이름의 새로운 NestJS 애플리케이션이 생성됩니다.

2. NestJS 애플리케이션 구조

NestJS 애플리케이션은 여러 개의 모듈로 구성되어 있습니다. 각 모듈은 특정 기능을 수행하며, 서로 의존 관계를 가질 수 있습니다. 일반적으로 src 폴더 내에 각각의 모듈이 위치하고 있습니다.

NestJS에서 모듈은 @Module() 데코레이터로 표시되며, imports, controllers, providers, exports 등의 속성을 가질 수 있습니다. 이러한 속성들을 사용하여 모듈 간의 연결고리를 형성합니다.

3. NestJS 컨트롤러와 라우터

NestJS 컨트롤러는 특정 URI에 대한 요청을 처리하는 역할을 담당합니다. 컨트롤러는 @Controller() 데코레이터로 표시되며, @Get(), @Post() 등의 데코레이터를 사용하여 특정 URI에 대한 HTTP 메서드를 지정할 수 있습니다.

라우터는 컨트롤러에 정의된 라우트 핸들러와 URI 간의 매핑을 관리합니다. 라우터는 @Module() 데코레이터의 controllers 속성에 등록되며, 내부적으로 Express.js와 같은 웹 프레임워크의 라우터를 사용합니다.

4. NestJS 서비스와 의존성 주입

NestJS 서비스는 애플리케이션의 비즈니스 로직을 구현하며, 컨트롤러나 다른 서비스로부터 필요한 데이터를 주입받아 사용합니다. 서비스는 @Injectable() 데코레이터로 표시되며, constructorprivate 또는 public로 선언된 매개변수를 통해 의존성을 주입받을 수 있습니다.

의존성 주입은 NestJS의 강력한 기능 중 하나로, 컴포넌트 간의 결합도를 낮추고 모듈의 재사용성을 높여줍니다.

5. NestJS 실행 및 배포

NestJS 애플리케이션을 실행하려면 다음 명령어를 사용합니다.

npm run start

개발 환경에서는 start:dev 명령어를 사용하여 애플리케이션을 실행할 수 있습니다.

배포하기 위해서는 애플리케이션을 빌드한 후에 실행해야 합니다. 빌드는 다음 명령어로 수행할 수 있습니다.

npm run build

빌드가 완료되면 dist 폴더 내에 빌드된 파일들이 생성됩니다. 이후에는 빌드된 파일을 서버에 배포하여 NestJS 애플리케이션을 실행할 수 있습니다.

결론

NestJS는 자바스크립트로 서버 애플리케이션을 개발하기 위한 강력한 프레임워크입니다. 이번 글에서는 NestJS의 기본적인 사용 방법을 살펴보았습니다. NestJS를 사용하면 Express.js와 비슷한 구조로 자바스크립트를 사용하여 서버 애플리케이션을 더욱 쉽게 개발할 수 있습니다.

참고자료:

#NestJS #NodeJS