자바스크립트 개발자라면 알아둬야 할 NestJS 프레임워크
소개
NestJS는 Node.js를 기반으로 하는 서버 사이드 애플리케이션 개발을 위한 프레임워크입니다. TypeScript를 기본 언어로 사용하며, Angular와 비슷한 구조를 가지고 있어 개발자가 더욱 쉽게 애플리케이션 구조를 파악할 수 있습니다.
설치
NestJS를 설치하려면 Node.js를 먼저 설치해야 합니다. 그리고 터미널에서 다음 명령어를 입력합니다.
npm install -g @nestjs/cli
위 명령어로 NestJS CLI를 전역으로 설치할 수 있습니다.
새 프로젝트 생성
NestJS는 CLI를 통해 새 프로젝트를 생성할 수 있습니다. 프로젝트를 생성하려면 터미널에서 다음과 같은 명령어를 입력합니다.
nest new project-name
이 명령어를 실행하면 `project-name`이라는 이름의 NestJS 애플리케이션 기본 구조를 가진 새 프로젝트가 생성됩니다.
컨트롤러 작성
컨트롤러는 클라이언트의 요청에 응답하는 역할을 합니다. 새로운 컨트롤러를 생성하려면 다음 명령어를 사용합니다.
nest generate controller controller-name
이 명령어를 실행하면 `controller-name.controller.ts` 파일이 생성됩니다. 이 파일 안에는 `@Controller()` 데코레이터와 함께 `@Get()`, `@Post()`, `@Put()`, `@Delete()` 등의 HTTP 요청 메소드 데코레이터를 사용할 수 있습니다.
서비스 작성
서비스는 컨트롤러가 사용하는 비즈니스 로직을 담당합니다. 다음 명령어를 사용하여 새로운 서비스를 생성할 수 있습니다.
nest generate service service-name
이 명령어를 실행하면 `service-name.service.ts` 파일이 생성됩니다. 이 파일 안에는 `@Injectable()` 데코레이터를 사용하여 서비스를 정의할 수 있습니다.
컨트롤러와 서비스 연결
컨트롤러와 서비스를 연결하려면 다음과 같이 코드를 작성할 수 있습니다.
“`typescript
import { Controller, Get } from ‘@nestjs/common’;
import { AppService } from ‘./app.service’;
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
“`
위 코드는 `AppController`와 `AppService`를 연결하는 코드입니다. `constructor()`에서 `private readonly appService: AppService`로 `AppService`를 주입받고, `@Get()` 데코레이터에서 `getHello()` 메소드를 호출합니다.
결론
NestJS는 TypeScript로 작성된 Node.js 애플리케이션 개발에 적합한 프레임워크입니다. Angular와 비슷한 구조를 가지고 있어 Angular에서 익숙한 개발자라면 더욱 쉽게 사용할 수 있습니다. NestJS를 사용하면 보다 확장성이 높은 애플리케이션 개발을 할 수 있습니다.
키워드: 자바스크립트, 노드, NestJS, 프레임워크.