ecsimsw

Middleware 본문

Middleware

JinHwan Kim 2019. 1. 11. 02:47

Middle ware

  • middleware is..
    - Express docs에서는 middleware를 다음과 같이 소개한다.
    " Middleware functions are functions that have access to the request object (req), the response object (res), and the next middleware function in the application’s request-response cycle."
    즉, middleware function는 request와 response, 그리고 다음 middle function의 사이에서 요청과 응답을 조작, 처리하고 다음 기능으로 넘기는 역할을 한다.
  • using middleware
    var express = require('express'); var app = express(); var myMW = function(req,res,next){ console.log('Middleware function'); next(); } app.use(myMW); app.get('/', function(req,res){ res.send('Hello world'); }); app.listen(3000);
     미들웨어는 주로 app.use와 함께 사용된다. 위 예시의 직접 정의한 함수 myMW 처럼 app.use 메소드 안에 들어 있는 함수가 미들웨어이다.
    app의 use 메소드로 myMW가 app에 장착되어 myMW안의 next 함수로 다음 미들웨어로 순차적으로 이동하게 된다. 만일 next 함수를 호출하지 않으면 다음 미들웨어로 진입할 수 없다.
    위 코드에서는 next를 호출하지 않는다면 myMW에서 요청의 흐름이 끊겨 브라우저는 계속 로딩되고 요청을 받는 중으로 표시되는 것을 확인 할 수 있었다.
    var express = require('express'); var app = express(); app.use('/', function(req, res, next) { res.send('HI'); console.log('first middleware'); next(); }, function(req, res, next) { console.log('second middleware'); next(); }, function(req, res, next) { console.log('third middleware'); next(); }); app.listen(3000);

      위처럼 use 메소드를 통해 여러 미들웨어를 다중으로 장착할 수 도 있다.

'Server application > Node.js' 카테고리의 다른 글

Template engine / pug  (0) 2019.01.15
Routing  (0) 2019.01.11
Express framework  (0) 2019.01.10
Npm  (0) 2019.01.10
Cookie  (0) 2019.01.09
Comments