기록/node.js 교과서 따라하기
210916 [6장] 6.2 *미들웨어 특성 활용하기
코드코코
2021. 9. 16. 21:23
/*미들웨어
미들웨어 간 데이터 전달하는 방법
-세션을 사용한다면 req.session 객체에 데이터를 넣어도 되지만, 세션이 유지되는 동안에 데이터도 계속 유지됨.
-요청이 끝날 때 까지만 데이터를 유지하고 싶은 경우 req객체에 데이터를 넣어두면 된다.*/
const morgan = require("morgan");
app.use((req, rea, next) => {
req.data = '데이터넣기';
next();
}, (req, res, next) => {
console.log(req.data);//데이터받기
next();
});
//유용한 패턴 : 미들웨어 안에 미들웨어를 넣는 방식.
//기존 미들웨어의 기능을 확장할 수 있다.
app.use(morgan('dev'));
//위와 아래는 같은 기능
``
app.use((req, res, next) => {
morgan('dev')(req, res, next);
});
//다음과 같은 분기 처리도 가능
app.use((req, res, next) => {
if (process.env.NODE_ENV === 'production') {
morgan('combined')(req, res, next);
} else {
morgan('dev')(req, res, next);
}
});