在 Jade 模板中传递包含 url 的变量
Passing variables containing urls in Jade Template
我在传递对象时无法在 Jade 中正确显示 link。
// 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
但是,link 一直显示为 "localhost:4000/benjelnews.com"
有人可以解释为什么我的本地服务器地址一直显示,以及我如何正确配置我的 Express 或 Jade 模板以显示正确的格式,即 "benjelnews.com"
Jade 将您的模板渲染到此 HTML:
<a href="benjelnews.com">hello</a>
由于 benjelnews.com
不是有效的 URL(它不以方案开头,例如 http://
或 https://
),您的浏览器会将其解释为本地网络服务器上的相对路径(显然是 http://localhost:4000
上的 运行)。
如果您的所有链接都是这样,您可以在模板中添加该方案:
a(href = 'http://' + data.link)= data.title
(并希望所有链接都是纯 HTTP 而不是 HTTPS)
理想情况下,您的数据库应包含适当的 URL。
我在传递对象时无法在 Jade 中正确显示 link。
// 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
但是,link 一直显示为 "localhost:4000/benjelnews.com" 有人可以解释为什么我的本地服务器地址一直显示,以及我如何正确配置我的 Express 或 Jade 模板以显示正确的格式,即 "benjelnews.com"
Jade 将您的模板渲染到此 HTML:
<a href="benjelnews.com">hello</a>
由于 benjelnews.com
不是有效的 URL(它不以方案开头,例如 http://
或 https://
),您的浏览器会将其解释为本地网络服务器上的相对路径(显然是 http://localhost:4000
上的 运行)。
如果您的所有链接都是这样,您可以在模板中添加该方案:
a(href = 'http://' + data.link)= data.title
(并希望所有链接都是纯 HTTP 而不是 HTTPS)
理想情况下,您的数据库应包含适当的 URL。