2017-12-22 12 views
0

그래서 내 컨트롤러 메소드 내부에 내 플래시 메시지를 설정하고 있습니다 : req.flash('info', 'flash is working') 그리고 컨트롤러에있는 console.log(req.flash()) . 그렇다면 내 app.js 파일에서 간단하게 res.locals에 전달하여 내 템플릿에서 사용할 수 있지만 빈 객체를 받았기 때문에 res.locals를 할당하기 위해 미들웨어 내부에서 콘솔을 만들었습니다. 거기도 비어 있습니다. 왜 이런 일이 일어나는 걸까요? BTWreq.flash()는 app.js의 빈 객체를 반환하지만 컨트롤러 메소드에서는 정상적으로 작동합니다.

app.use((req, res, next) => { 
res.locals.flashes = req.flash(); 
res.locals.h = helpers; 
console.log(req.flash()); 
next(); 
}); 

내가 첫 번째 요청이 빈 플래시 객체하지만, 두 번째는

답변

0

좋아 아니라 빈 반환을 반환하도록되어 알고, 내가 세션 모듈을 요구하는 주문 및 때문에 바보 같은 실수를 그 세션은 제대로 작동하지 않았고 플래시 메시지가 실제로 세션에 저장되지 않았기 때문에 응답으로 빈 객체가 나타납니다. 모듈의 순서를 수정하면 나를 위해 그것을 고정.