求 jade里如何判断session的状态
发布于 2年前 作者 deerluffy 990 次浏览

新手,看社区里置顶的教程N-blog。模版引擎都是ejs,我建立项目的时没注意,默认成了jade。浏览了一下jade的官方示例。能够写基本的语句。但是N-blog里下面这一段 <% if( locals.user ){ %> logout <% } else { %> login <% } %> 在jade里怎么写呢?我试了下面的,但登入登出都是显是登出: if locals.user span a(title="登出" href = “”) else span a(title="登录" href="") 在post里已经设置了req.session.user

想问一下,应该怎么写? 大家用jade吗?还是那句话,求推荐jade的资料啊。

12 回复
-if(user)
  span
    a(title="登出", href="") 登出
-else
  span
    a(title="登录", href="") 登录

同时在app.js中使用

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

试试吧

很好奇的是

a(title="登出" href = "")

这样写没有报错么?这个是不符合jade语法的吧?

还是不行,我照着node.js开发指南上抄了一遍也不行。不管怎么登录,都没有反应。我是不是该看看session 的工作原理。有推荐文档吗? 非常感谢。

额,里面不是这么写的,我copy过来时,乱码啦,觉得这个不是重点,就自个儿编了下。见谅,见谅。下面是实际代码 if(user) li: a(href="/login")登出 li: a(href="/reg")发表 else li: a(href="/login")登录 li: a(href="/login")注册

@deerluffy express的版本是用的最新的吧?很多和开发指南上的是不一样的,可以看看这个http://cnodejs.org/topic/519f346a776b2e7f0310ca2c

@thesadboy 果然是版本有问题,不行我就改成ejs吧,我看看这些资料。 谢谢啊。耽误您的时间了。

@deerluffy 没事,其实用3.x的开发也不错,而且jade模板用顺手了也还行的。

你可以先写html 然后html2jade

非常感谢,又涨姿势啦。

@deerluffy 这样是何苦呢,直接ejs妥妥的

回到顶部