NestJS의 CLI(command-line interface)

 NestJS 프로젝트 생성하기

프로젝트 생성시 이름, package manager(npm or yarn) 결정해야함

또한 NestJS가 글로벌로 설치 되어 있어야 함

$ nest new


NestJS 프로젝트 실행하기

default 포트는 3000이고 GET요청을 하면(npm) Hello World!가 브라우저에서 출력됨

$ npm run start


NestJS 프로젝트 실행하기(개발자 모드)

개발자 모드로 npm run을 하게되면 nodemon과 비슷하게 저장 할때마다 서버를 재시작 해준다.(watch mode)

$ npm run start:dev


Nest 버전 확인하기

$ nest --version


Nest CLI확인하기

$ nest --help


NestJS CLI에서 Controller 생성하기 - 1

CLI입력시 컨트롤러폴더의 이름을 입력해야함

$ nest generate controller [name]


NestJS CLI에서 Controller 생성하기 - 2

CLI입력시 컨트롤러폴더의 이름을 입력해야함

$ nest g co [name]


NestJS CLI에서 Controller 생성하기(테스트 케이스 제외) - 3

CLI입력시 컨트롤러폴더의 이름을 입력해야함, 스펙파일은 제외함

$ nest g co --no-spec [name]


NestJS CLI에서 Controller 생성하기(특정경로) - 4

CLI입력시 해당 경로 및 폴더이름까지 포함해야함

ex) module/test로 설정 하면 src폴더에서 module폴더를 생성하고 내부에 test폴더를 생성해서 컨트롤러 파일을 생성합니다.

$ nest g co [modules/test]


NestJS CLI에서 가상으로 Controller 생성하기(특정경로) - 4

CLI입력시 해당 경로 및 폴더이름까지 포함해야함, 가상으로 폴더의 경로를 터미널에 표시

ex) module/test로 설정 하면 src폴더에서 module폴더를 생성하고 내부에 test폴더를 생성해서 컨트롤러 파일을 생성합니다.

$ nest g co [modules/test] --dry-run




NestJS CLI로 Validation만들기

npm 모듈은 nestjs에서 pipe기능을 사용할수 있으며 추가로 validation기능도 사용할수 있다. 자세한 사항은 링크 참조

$ npm i class-validator class-transformer @nestjs/mapped-types


NestJS CLI로 Swagger적용하기

npm 모듈은 nestjs에서 Swagger문서를 작성할수 있다. 자세한 사항은 링크 참조

$ npm i @nestjs/swagger swagger-ui-express

Swagger 문서에 비밀번호 적용시 참고 글 : NestJS Set Password to Swagger Document


NestJS CLI로 TypeORM 및 mysql NPM 적용하기

npm 모듈은 nestjs에서 TypeORM 및 MySQL을 사용할수 있는 모듈이다. 자새한 사항은 링크 참조

$ npm i --save mysql2 typeorm @nestjs/typeorm


만약 mysql 대신 postgresSQL을 사용할려면 mysql2 대신 pg를 사용하면 된다.


NestJS CLI로 enviroment file(.env)적용하기

npm 모듈은 nestjs에서 .env file을 사용할수 있는 모듈이다. 자새한 사항은 링크 참조

$ npm i --save @nestjs/config


이후 해당 .env파일의 검증을 할수 있습니다.

관련 내용은 링크를 참조해 주시기 바랍니다.

$ npm install @hapi/joi


$ npm install --save-dev @types/hapi__joi


NestJS MongoDB npm설치

npm 모듈은 nestjs에서 MongoDB와 CRUD를 할수 있다. 자세한 사항은 링크 참조

$ npm i @nestjs/mongoose mongoose















댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)