今天看起nodeclub的源码,先帖上三段代码
这是app.js里的
·app.configure(function () {
//…
app.use(require(’./controllers/sign’).auth_user);
//…
});
·
sign.js中的
exports.auth_user = function (req, res, next) { //.... User.findOne({_id: user_id}, function (err, user) { //... res.local('current_user', req.session.user); //... }) //.... }
index.html模板里这样用
·
<% if (locals.current_user) { %>
<a href=’/topic/create’ class=‘fr’><button class=‘btn btn-success fr’ id=‘create_topic_btn’>发布话题</button></a>
<% } %>
·
目测功能是判断当前用户状态, 从其用法 看res.local的用法 是往模板里塞变量,可是控制台输出这个res.local 却发现报undefined,不明白了,这个res.local到底是何物?是已经废弃的方法?
(╯_╰) 我去,发出来怎么这么凌乱。。 PS:node版本为最新0.8,不是直接拿nodeclub代码运行
cnode 是使用的"express": "2.5.1" 现在express 3.0 改了不少
res.local还是蛮有用的, express3.X 有无替代方案?
API接口改了 如果使用res.local 请改成 res.locals.current_user = req.session.user;
@hexie soga~ 多谢