nuxt next nest차이점 알아보다가 갑자기 해보는 NestJS
NestJS
node.js
프레임워크- Java에 Spring이 있다면, node.js에는 NestJS가 있다..
- 요즘 굉장히 핫하다고 함 (이건 못참지)
- TypeScript 완벽지원
- 엔터프라이즈용 프레임워크다~
- 스프링을 해봤다면 쉽게 적응할 수 있다고 한다!
express
와fastify
플랫폼 지원 (express가 기본)
install
설치 후 nest
입력 해 설치 확인
$ npm i -g @nestjs/cli
$ nest
아, node가 설치되어 있어야 한다.. 당연히..
project setting
CLI를 설치했으니 이제 프로젝트를 생성할 수 있다. nest new
로 생성
$ nest new project-name
project folder structure
/src
폴더 안을 보면 이미 컨트롤러, 서비스가 만들어져 있다.
app.controller.ts
: 기본으로 생성되는 컨트롤러. 하나의 라우트가 작성돼있다app.controller.spec.ts
: 컨트롤러 유닛테스트app.module.ts
: root moduleapp.service.ts
: 기본으로 생성되는 서비스. 하나의 메서드가 작성돼있다main.ts
: 핵심 메서드인NestFactory
를 호출하고 있는 파일. Nest application 인스턴스를 생성한다.
├── src
│ ├── app.controller.spec.ts
│ ├── app.controller.ts
│ ├── app.module.ts
│ ├── app.service.ts
│ └── main.ts
run!
http://localhost:3000
으로 접속 가능하다.
& npm run start
Hello World!
가 출력되는 이유를 알아보자
main.ts
가NestFactory
를 통해 Nest 애플리케이션을 실행시켰다.AppModule
은app.module.ts
에서 정의하고 있는데, 여기서 컨트롤러와 서비스를 부르고 있다.app.controller.ts
에서 생성자로AppService
의존성 주입을 받고 있고,this.appService.getHello();
를 호출한다.app.service.ts
에 정의된getHello()
메서드가Hello World!
를 반환하고 있다.
스프링을 경험해봤다면 정말 바로 이해될것..
컨트롤러를 보면 @Controller()를 볼 수 있다. 자바에서는 애노테이션이라 부르던 그것.. Nest에서는 데코레이터라 부른다.
'STUDY > Node.js' 카테고리의 다른 글
NestJS | 데이터베이스 연결, 설정 정보를 입력하는 다양한 방법... (database connection) (0) | 2021.07.28 |
---|---|
NestJS | 유효성 검사 validation (0) | 2021.07.23 |
Node.js | Oracle 연동 (npm oracledb) (0) | 2020.02.26 |
Node.js | nodemailer ejs사용하기 (이메일 인증번호) (0) | 2020.02.04 |
Node.js | nodemailer 이미지 첨부하기 (Embedded Image) (0) | 2020.01.29 |