TypeScript 및 NestJS를 사용하여 REST API 프레임워크를 구축하는 방법

문제를 제거하기 위해 도구를 사용해보십시오

TypeScript 및 NestJS를 사용하여 REST API 프레임워크를 구축하는 방법

웹 애플리케이션은 REST API 및 프런트 엔드로 설계되고 있습니다. UI 애플리케이션 개발을 위해 이제 Angular, React, Vue 등과 같이 널리 사용되는 JavaScript 프레임워크를 많이 사용할 수 있습니다. REST API 개발을 위한 여러 옵션도 있습니다. 프로그래밍 언어로 Java를 선택하면 Spring 부트가 있습니다. .NET의 경우 REST API 프레임워크가 있습니다. JavaScript를 선택하면 ExpressJS, HapiJS 및 NestJS 등이 있습니다. 여기서는 Nest.js( https://docs.nestjs.com/ ). REST API용 TypeScript를 사용하여 웹 애플리케이션을 빌드하는 방법을 배웁니다.

환경 설정

먼저 다음 명령을 사용하여 로컬 컴퓨터에 Nest.js CLI를 설치합니다.

npm i -g @nestjs/cli



새 응용 프로그램을 만듭니다.

_네스트 뉴 _

이 명령 다음에 설명, 작성자 및 버전과 같은 몇 가지 기본 정보를 묻습니다. 그러면 설치만 시작됩니다.

이미지제목입니다

설치를 완료하는 데 일반적으로 3~5분이 소요됩니다.

이미지제목입니다

netflix.com/tv8 활성화

cd 샘플-nestjs-앱 그리고 npm 실행 시작

이 명령을 사용하면 애플리케이션을 쉽게 시작할 수 있습니다.

이미지제목입니다

이 응용 프로그램은 기본 포트 3000에서 실행 중입니다.

이미지제목입니다

Nest.js 이해

이제 사용 가능한 다른 파일과 NestJS 애플리케이션 실행 흐름이 무엇인지 이해해 보겠습니다. 이를 위해 Visual Studio Code 또는 Atom과 같은 IDE에서 애플리케이션을 열어야 합니다.

이미지제목입니다

위의 이미지는 Nest.js 애플리케이션의 파일 및 폴더 목록을 보여줍니다. 우리는 이것들을 하나씩 살펴볼 것입니다.

패키지.json

node.js 기반 애플리케이션을 알고 있는 사용자는 이미 package.json 파일의 사용을 알고 있습니다. 여기에서는 NestJS와 관련된 패키지 및 명령을 이해하려고 노력할 것입니다.

|_+_|

nestjs/common 및 nestjs/core는 기본적으로 NestJS 종속성을 위한 것입니다.

RxJS는 비동기 또는 콜백 기반 코드를 더 쉽게 구성할 수 있도록 Observable에 사용되는 반응형 프로그래밍용 라이브러리입니다.

TypeScript는 주로 NestJS가 TypeScript 기반 애플리케이션을 빌드하므로 필요합니다.

|_+_|

이러한 스크립트는 응용 프로그램 실행, 응용 프로그램 빌드, 단위 테스트 실행 또는 e2e 테스트 사례 실행과 같은 여러 옵션을 실행하는 데 선택 사항입니다.

tsconfig.json은 주로 TypeScript를 JavaScript로 컴파일하는 데 사용됩니다.

해적 사슬(arrr)

TypeScript를 이해하지 못하는 사람들은 먼저 https://www.typescriptlang.org/ . 여기에서 TypeScript에 대한 자세한 정보를 얻을 수 있습니다.

nodemon.json

|_+_|

Nodemon은 소스의 변경 사항을 모니터링하고 서버를 자동으로 다시 시작하는 유틸리티입니다.

main.ts를 호출하는 실행 명령

src 폴더

이미지제목입니다

src 폴더 안에 사용할 수 있는 파일이 너무 많습니다. 이것은 우리 응용 프로그램의 매우 중요한 부분입니다.

Main.ts

|_+_|

여기서 부트스트랩 방법은 2줄만 포함합니다.

|_+_|

NestFactory.create는 AppModule을 전달해야 합니다.

반응 네이티브 인앱 브라우저
|_+_|

여기서 3000은 포트 번호입니다. 응용 프로그램 포트를 변경해야 하는 경우 3000을 다른 포트 번호로 변경합니다.

app.module.ts

|_+_|

app.module에는 세 가지 주요 구성 요소가 있습니다.

  • 수입품
    이것은 주로 지정해야 하는 모든 가져온 모듈의 배열을 가지고 있습니다.

  • 컨트롤러 여기에서 모든 컨트롤러를 추가해야 합니다(컨트롤러 및 서비스에 대한 자세한 정보는 아래에 있음).

  • 공급자 지정해야 하는 서비스의 배열입니다.

app.controller.ts

|_+_|

컨트롤러는 GET, POST, PUT 및 Delete와 같은 모든 메서드를 외부 세계에 노출하는 주요 구성 요소입니다.

그러나 컨트롤러에서 가져오는 서비스의 실제 논리를 지정하고 예상되는 함수를 호출해야 합니다. 서비스는 생성자에 주입됩니다.

|_+_|

App.service.ts

|_+_|

서비스 클래스는 실제 기능/검증 또는 데이터베이스 호출이 지정되는 곳입니다.

|_+_|

이것은 텍스트 값을 반환하는 간단한 메서드입니다. 그러나 모든 종류의 복잡한 논리를 작성하고 요구 사항에 따라 개체를 반환할 수 있습니다.

CLI 명령

NBA 무료 레딧 보기

사용 가능한 아키텍처 구성요소 목록입니다.

  • 클래스(별칭: cl)
  • 컨트롤러(별칭: co)
  • 데코레이터(별칭: d)
  • 예외(별칭: e)
  • 필터(별칭: f)
  • 게이트웨이(별칭: ga)
  • 가드(가명: 구)
  • 인터셉터(별칭: i)
  • 미들웨어(일명: my)
  • 모듈(별칭: mo)
  • 파이프(별칭: pi)
  • 공급자(별칭: pr)
  • 서비스(별칭: s)

nest generate service users 또는 nest gs users

중첩 생성 클래스 직원 또는 중첩 g c 직원

이렇게 하면 애플리케이션에서 필요한 구성 요소를 직접 생성할 수 있습니다.

테스트

단위 테스트와 e2e 테스트의 두 가지 테스트 옵션을 모두 사용할 수 있습니다.

app.controller.spec.ts

이것은 생성된 샘플 테스트 클래스입니다. 여기에는 app.controller 및 app.service에 대한 단위 테스트 사례가 포함됩니다.

|_+_|

이것은 농담 테스트 케이스입니다. 기능에 따라 여러 테스트 사례를 작성하고 단위 테스트 사례인 npm 테스트를 실행할 수 있습니다. 이를 위해 jest 프레임워크가 사용됩니다.

e2e 테스트의 경우 별도의 테스트 폴더가 생성되고 app.e2e-spec.ts가 샘플 파일입니다.

|_+_|

e2e 테스트를 실행하기 위한 명령은 다음과 같습니다.

npm 실행 테스트:e2e

요약

이 기사에서는 NestJS의 몇 가지 기본 사항을 배웠습니다. NestJS에 대해 이야기할 때 미들웨어, 예외, 필터, 파이프, 가드 및 인터셉터와 같은 몇 가지 고급 개념도 포함됩니다. 이 고급 주제에 대한 저의 다음 기사를 따르십시오.

에 코드를 업로드했습니다. GitHub 또한.

읽어주셔서 감사합니다!

또한보십시오: