关于nodeclub代码里 res.local的问题
发布于 12 年前 作者 chihuohuo 4622 次浏览 最后一次编辑是 8 年前

今天看起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到底是何物?是已经废弃的方法?

5 回复

(╯_╰) 我去,发出来怎么这么凌乱。。 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~ 多谢

回到顶部