各位大虾,请教一个问题:nodejs开发指南注册那里,使用了dynamicHelpers函数,但是因为我现在用的是express3.x,木有这个函数了,请问如何解决啊??? 在网上找了一下,是使用app.use(function(req, res, next){res.locals.user = req.session.user}),可还是出错,总是说user没有定义,无法把会话传到layout.ejs那里。。。。 多谢!
解决方案:
将书中app.js的dynamicHelpers代码部分改为:
app.use(function(req, res, next){ var error = req.flash(‘error’); var success = req.flash(‘success’); res.locals.user = req.session.user; res.locals.error = error.length ? error : null; res.locals.success = success ? success : null; next(); });
并把此代码放在 app.use(app.router); 之前。
模板文件中改为下面类似结构: <% if (!locals.user) { %> <% if ( locals.error ) { %> <% if ( locals.success ) { %>
你的这个问题我也遇到过,我特地记录了下来http://www.9958.pw/post/dynamicHelpers_helpers 你也可以看看这篇文章对你也许有帮助 http://www.9958.pw/post/nodejs_lesson (主要是我当时做的demo可以参考参考)