将玉转换成车把
我正试图重写一些写在jade
代码。 我需要使用expression式express-handlebars
或其他不会完全改变html文件结构的东西。 我的问题是:如何在新版本中传递参数,例如下面哪个是user
?
使用jade
的老工作版本:
app.js
var router = require('express').Router(); router.get('/', function(req, res) { res.render('index', {user: req.user}); });
index.jade
block content if (user) p You are currently logged in as #{user.username} else p You are currently not logged in. Please login or register...
使用handlebars
的新版本:
index.handlebars
<div class="content"></div>
那么我应该在新的index.handlebars
文件中写入什么和/或在app.js
中更改哪些内容才能正确显示user.username
? 我对此很新,所以我很欣赏任何有帮助的东西。
#更新#
index.handlebars
<a href="/login">Log In</a>
app.js
var router = require('express').Router(); router.get('/login', function(req, res) { res.render('login', {user: req.user}); });
这个<a>
链接在之前index.jade
文件中工作
a(href="/login") Log In
为什么它不在新的index.handlebars
文件中工作? (更具体地说,url更改为localhost:123/login
但内容不变,在控制台中没有错误。
我不确定,但试试这个
index.handlebars
<div class="content> {{#if user}} <p>You are currently logged in as {{username}}</p> {{else}} <p>You are currently not logged in. Please login or register...</p> {{/if}} </div>