在Jade模板

时间:2015-08-24 19:27:39

标签: javascript node.js express pug template-engine

当我传入对象时,我无法在Jade中正确显示链接。

// Story object

{
    "_id" : ObjectId("55db6e1710976558828f8053"),
    "author" : ObjectId("55d7a215a3695c620c586f12"),
    "link" : "benjelnews.com",
    "title" : "hello",
    "updated" : ISODate("2015-08-24T19:18:47.589Z"),
    "created" : ISODate("2015-08-24T19:18:47.589Z"),
    "comments" : [ ],
    "__v" : 0
}
// App.js

res.render('news', {data: story});

// News.jade

a(href=data.link)=data.title

然而,该链接一直显示为“localhost:4000 / benjelnews.com” 有人可以解释为什么我的本地服务器地址不断显示以及如何正确配置我的Express或Jade模板以显示正确的格式,这只是“benjelnews.com”

1 个答案:

答案 0 :(得分:0)

Jade将您的模板呈现为此HTML:

<a href="benjelnews.com">hello</a>

由于benjelnews.com不是有效的网址(它不是以http://https://之类的方案开头),因此您的浏览器会将其解释为本地网络服务器上的相对路径(显然是在http://localhost:4000上运行。)

如果所有链接都是这样,您可以在模板中添加方案:

a(href = 'http://' + data.link)= data.title

(并希望所有链接都是纯HTTP而不是HTTPS)

理想情况下,您的数据库应包含正确的URL。