티스토리 뷰
이번 시간에는 NestJS 프로젝트를 생성하고 로컬 환경에 띄어봅시다.
1. NestJS CLI를 통한 간편한 설치합니다.
(저는 예시로 프로젝트 이름을 happycoding 으로 하였습니다.)
$ npm i -g @nestjs/cli
$ nest new (프로젝트 이름)
CLI 실행 시 description(설명), version(버전), author(저자)를 물어보는데 원하는 답변을 해주면 됩니다.
저는 아래와 같이 설정하였습니다.
description: 해피코딩
version: 0.0.1
author: 박진우
그 후 package manager를 어떤 것(npm, yarn)으로 사용할 건지 물어보는데 저는 npm을 사용하기 때문에 npm을 적었습니다.
2. CLI를 사용하지 않고 프로젝트 설치
첫 번째는 Git을 사용하는 방법, 두 번째는 NPM을 사용하는 방법이 있다. 하나씩 알아보자.
첫 번째 Git을 이용한 설치
$ git clone https://github.com/nestjs/typescript-starter.git (프로젝트이름)
$ cd project
$ npm install
두 번째 NPM을 이용한 설치
$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata
둘 중 하나의 방법으로 프로젝트를 설치했다면 아래와 같은 폴더 구조가 생성 되었을 것이다.
그럼 이제 src 폴더를 파해쳐 봅시다.
src 폴더를 보면 아래와 같다. 하나씩 살펴보자.
app.controller.spec.ts |
코드 테스트를 위해 사용됩니다. |
app.controller.ts |
단일 경로로 되어있는 기본 Controller sample 입니다. |
app.module.ts |
AppModule 응용 프로그램의 root 모듈을 정의합니다. |
app.service.ts |
기능들에 대해 관심사를 분리합니다. 사용 시 controller에 주입시켜 사용합니다. |
main.ts |
NestFactory instance를 만드는데 사용됩니다. |
최초 실행 시 main.ts가 실행되며, 비동기 함수가 포함되어 있어 응용 프로그램을 bootstrap 합니다.
Nest 응용 프로그램 인스턴스를 만들기 위해 NestFactory가 사용되는데 NestFactory는 가장 기본적인 Class이며 어플리케이션 instance를 생성 할 수 있는 몇 가지 정적 메소드들을 제공해 줍니다.
create() 를 통해 AppModule을 생성하고 생성한 것을 app 이라는 변수에 담에 3000번 포트로 bootstrap을 한다.
기본 프로젝트를 설치하면 이 모든 것이 구현되어 있기 때문에 http 서버를 시작할 수 있습니다.
아래 명령어를 실행하여 서버를 로컬에서 띄어봅시다.
$ npm run start
현재 3000번 포트로 설정이 되어있기 때문에 브라우저를 띄운 뒤 http://localhost:3000 을 주소창에 치면 "Hello World!" 라는 문자열을 볼 수 있다.
만약 자신이 쓰는 포트 중 중복되는 포트가 있다면 app.listen()의 매개변수를 수정하여 자유롭게 사용할 수 있다.
다음 시간에는 Controller에 대해 알아보자 !
감사합니다.
오늘도 해피코딩 하세요 !
'프레임워크 및 라이브러리 공부 > NestJS' 카테고리의 다른 글
NestJS 시작하기 (0) | 2019.03.02 |
---|
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- class component
- scope
- 클래스형 컴포넌트
- useEffect
- 리엑트
- 깃헙
- JavaScript
- website
- useState
- github
- Angular
- string
- this
- array
- 웹사이트
- 가상돔
- const
- ES6
- window
- Function Component
- TypeScript
- Prototype
- 함수 컴포넌트
- virtual dom
- Let
- Es5
- 클래스 컴포넌트
- NestJS
- react
- HTML
- Total
- Today
- Yesterday