在我的boolean
中,我使用变量layout.ejs
,如下所示:
user
每个页面都要求用户登录。但是,登录页面本身不应该<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="user-info">username: <%= user.username %></div>
<%- body %>
</body>
</html>
,所以我想创建一个单独的登录页面(好吧,不应该&n) #39; t)使用部分。我试着这样做:
req.user
app.get('/login', function(req, res){
res.render('login.ejs', {layout: false});
})
仅包含静态标记。但是,它仍然给出了login.ejs
尝试访问layout.ejs
变量的行的错误。
这是user
的错误吗?我该如何避免/解决这个问题?
谢谢,
答案 0 :(得分:0)
EJS提供条件,因此您应该将其应用于layout.ejs
文件,如下所示:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="user-info">username: <%= user.username %></div>
<%if (user.username) { %>
<%- body %>
<% } %>
<%- body %>
</body>
</html>
基本上这会告诉模板user.username是否存在,渲染此部分,否则不渲染它。
答案 1 :(得分:0)
我想你在添加node
后没有重启{layout: false}
。尝试重新启动节点进程。这应该可以解决问题。