본문 바로가기

Javascript/Node.js

Node.js 미들웨어(Middleware)

반응형

미들웨어 (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라고 실행하면 된다.



반응형