2017-10-08 3 views
0

내 탐색 바에 사용자 정보 (예 : 사용자 이름)를 표시하고 'req.session.user'변수를 내보기로 보냈습니다. 모든보기 렌더링을 위해 내가있다 해왔 무엇익스프레스가있는 미들웨어에서 데이터를 전달하는 가장 좋은 방법

, 내가 req.session 변수과 같이 보내 내 네비게이션 바이있는 내 백본보기에서 다음

app.get('/index', function(req, res, next) { 
    if(req.session.user) { 
     res.render("index", {user:req.session.user}); 
    } 
}); 

, 나는 인쇄 사용자 이름

이 반복적 인 업적을 극복하기위한 우수 사례는 무엇입니까? 검색했지만 결과가 없습니다.

감사합니다. 이 같은 각 페이지에 req.session.user를 보내지 않으려면

답변

2

: {user:req.session.user} 당신은 res.locals 객체에이 데이터를 추가 할 수 있습니다

app.use(function(req, res, next) { 
    res.locals.user = req.session.user 
    next() 
}) 

을 따라서, 각 페이지에 당신이 할 수있는이 (예와 같은 출력 사용자 이름 ejs) :

<% if (user) { %> 
    <h1>Hello, <%= user.name %></h1> 
<% } %> 
관련 문제