Skip to content

Instantly share code, notes, and snippets.

@YongHoonJJo
Last active March 30, 2019 15:47
Show Gist options
  • Save YongHoonJJo/2528a397532764a248c19a88e9eaacfe to your computer and use it in GitHub Desktop.
Save YongHoonJJo/2528a397532764a248c19a88e9eaacfe to your computer and use it in GitHub Desktop.
아하 REST API 서버 개발 #1, #2

아하 REST API 서버 개발 #1, #2


Express 로 Production Grade REST API 를 구현하기


이 글은 아하 REST API 서버 개발 의 내용을 토대로 정리하고, 궁금한 것을 공부한 내용입니다..


1) 왜 Node.js (Express) 인가?

빠른 개발 속도

TDD 패러다임에 충실.


2) Express 설치

express-generator 를 통한 설치.

> npm install -g express-generator
> express restapi

restapi 폴더대 생성되고, 기본적인 파일들이 생성되어 있다.

해당 폴더로 이동 후 npm install 을 진행.


3) www/bin

package.json 파일에서 "start": "node ./bin/www" 를 통해, express 의 entry point 가 bin 폴더 밑에 위치한 www 파일인 것을 알 수 있다.


4) dotenv

dotenv 모듈을 사용하여 node 를 실행하실 때 시스템 변수를 명시적으로 지정할 수 있다.

.env 파일에 필요한 변수를 작성하고 모듈을 로딩하시는 것으로 간단하게 할 수 있다.


dotenv 모듈 로드하기

require('dotenv').config();

.env 파일 기본 설정

NODE_ENV=development
DEBUG=restapi:server
PORT=3000

5) app.js

bin/www 파일은 express 서버를 실행하는 코드라면, app.js 파일은 express 서버가 어떻게 동작해야 하는지를 규정하는 앱 코드이다.


이 프로젝트는 REST API 서버를 구축하는 것이 목표이고, 페이지를 렌더링 할 것이 아니기 때문에, 뷰 엔진과 public 리소스 설정을 걷어낸다.


Next

express 에서 라우트가 어떻게 동작하고 production grade 에서는 어떤 식으로 설계를 할 수 있는지


Reference

아하 REST API 서버 개발 (1)

아하 REST API 서버 개발 (2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment