웹 요청과 응답에 대한 정보를 사용해서 필요한 처리를 진행할 수 있도록 분리된 함수
var express = require('express');
var app = express();
// app.use가 미들웨어가 아니라 app.use()의 인자안의 함수가 미들웨어
app.use(function (req, res, next) {
req.requestTime = Date.now(); // req라는객체에 requestTime 키와 밸류를 래퍼로 등록. requestTime는 사용자가 정한 값이다.
next(); // 다음 미들웨어 함수를 작동
});
// app.get이 미들웨어가 아니라 app.get()의 인자안의 함수가 미들웨어
app.get('/', function (req, res) { // 위에서 next()가 호출되면 이 콜백함수가 작동
res.send(req.requestTime); // 위 미들웨어에서 requestTime 객체를 등록했고 next()를 사용했기 때문에 호출해서 데이터 사용 가능
});
// 서버 실행
app.listen(3000);
app.use(미들웨어)
app.use('/path', 미들웨어)
app.post('/path',미들웨어)
next()를 하면 다음 미들웨어 , next(인수)를 하게되면 다음 라우터로 넘어간다