미들웨어 (Middleware)
Express는 Node.js에서 복잡하게 해야할 일을 간단하게 만들어준다고 했다.
Express가 어떻게 간단하게 해줄까? 그 방법 중 하나가 미들웨어를 사용하는 것이다.
미들웨어란?
쉽게 이해하기 위해서 간단히 표현하면 어떤 요청과 응답 사이 즉, 중간에 껴서 어떤 처리를 하는 애 다.
개발자들이 이미 만들어 놓은 수 많은 미들웨어(ex. Morgan, Body-parser등)가 있는데 npm에서 설치해서 사용하면 된다.
노드 런타임은 기본적으로 요청을 받아서 원시바이트를 처리할 수 있는 두개의 자바스크립트 개체로 전환한다.
그 중 하나는 요청(request)에 대한 것이고, 하나는 응답(response)에 대한 것이다.
Node에서 이 두 가지 개체는 단 하나의 함수로 전달되지만,
Express에서는 미들웨어 스택(배열)을 통해 전달된다. (여러 미들웨어에게 간다는 얘기)
이 스택의 모든 함수는 3개의 인수를 취한다.
function(request, response, next)
- request : HTTP요청 개체
- response : HTTP응답 개체
- next : 호출될 때 다음 미들웨어로 보내는 함수
* 스택에서 이들 함수들 중 하나는 response.end를 호출해야한다. 계속 next로 호출하면 루프가 생김.
서버 자동 재시작 (미세먼지 Tip)
npm install nodemon --global 을 실행해서 nodemon을 전역적으로 설치하고
node대신 nodemon을 이용해 감시모드에서 시작하면 된다.
node app.js 대신 nodemon app.js라고 실행하면 된다.
'Javascript > Node.js' 카테고리의 다른 글
Node.js 라우터 분할, 파일 라우팅 (2) | 2017.09.27 |
---|---|
라우팅 (Routing) (0) | 2017.09.27 |
방명록 웹 애플리케이션 만들기 (0) | 2017.09.25 |
Express 기초 (morgan 로깅미들웨어, 라우팅, 요청/응답 확장, 뷰 렌더링) (0) | 2017.09.24 |
Node.js 기초와 모듈 (내장 모듈, npm, 사용자정의 모듈) (1) | 2017.09.24 |