3
默認情況下是否可以始終將某些變量傳遞給res.render
?始終將變量傳遞給Express res.render
更具體地說,我正在使用與當前用戶填充req.user
的passport
中間件。我需要在我的網站的每個頁面上訪問它。
這是乏味的,每次提供的 - 如果我忘了,它表現爲,如果用戶沒有登錄
默認情況下是否可以始終將某些變量傳遞給res.render
?始終將變量傳遞給Express res.render
更具體地說,我正在使用與當前用戶填充req.user
的passport
中間件。我需要在我的網站的每個頁面上訪問它。
這是乏味的,每次提供的 - 如果我忘了,它表現爲,如果用戶沒有登錄
簡單的解決辦法是創建您自己的中間件:
function userView(req, res, next) {
res.locals.user = req.user;
next();
}
//...
app.use(passport.initialize());
app.use(passport.session());
//...
app.use(userView);
。
對於每個請求,這將填充一個局部變量user
,然後可以訪問鏈中稍後呈現的視圖。激活這個中間件後護照一或req.user
將是未定義的。
謝謝!這似乎是一個好主意。 – phillipwei
你能告訴我們一些代碼,更好地解釋發生了什麼問題嗎? – Rodmentou