코드코코

210916 [6장] 6.2 *미들웨어 특성 활용하기 본문

기록/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);
    }
});