如何在 EJS 中渲染作为 Node JS 变量发送的 HTML 标签?
How to render HTML tags sent as Node JS variable in EJS?
免责声明:当我显然是菜鸟时,我问了这个问题,但我留下这个问题希望它能在将来帮助别人。
上下文:
图片使问题更清楚:My issue
我正在开发 Node JS + EJS 博客应用程序。
我有一个单独的页面 (www.domain/compose),我可以在其中为我的 post 写标题和 body。然后我可以通过 www.domain/posts/post-title
访问这个 post
如picture所示,我想发送HTML个可以渲染的标签。
我想按我喜欢的顺序发送任何HTML标签。不仅是 em 和 img 标签。
我的节点服务器代码:
app.post("/compose", (req, res)=>{
const post = {
'title': req.body.newPostTitle,
'body': req.body.newPostContent,
};
posts.push(post);
res.redirect('/');
});
app.get("/posts/:postName", (req, res)=>{
const urlSuffix = req.params.postName;
posts.forEach((post)=>{
const postURL = lodash.kebabCase(post.title);
if(urlSuffix===postURL || urlSuffix===post.title){
console.log("Match Found!");
res.render("post", {postTitle:post.title, postBody: post.body});
}else{
console.log("Not a match")
}
});
});
我的 EJS 模板代码:
<%- include('partials/header') -%>
<h1><%=postTitle%></h1>
<p><%=postBody%></p>
<%- include('partials/footer') -%>
我想通了!我所要做的就是更改我的 .ejs 模板:
<%=postBody%>
至
<%-postBody%>
免责声明:当我显然是菜鸟时,我问了这个问题,但我留下这个问题希望它能在将来帮助别人。
上下文: 图片使问题更清楚:My issue
我正在开发 Node JS + EJS 博客应用程序。 我有一个单独的页面 (www.domain/compose),我可以在其中为我的 post 写标题和 body。然后我可以通过 www.domain/posts/post-title
访问这个 post如picture所示,我想发送HTML个可以渲染的标签。
我想按我喜欢的顺序发送任何HTML标签。不仅是 em 和 img 标签。
我的节点服务器代码:
app.post("/compose", (req, res)=>{
const post = {
'title': req.body.newPostTitle,
'body': req.body.newPostContent,
};
posts.push(post);
res.redirect('/');
});
app.get("/posts/:postName", (req, res)=>{
const urlSuffix = req.params.postName;
posts.forEach((post)=>{
const postURL = lodash.kebabCase(post.title);
if(urlSuffix===postURL || urlSuffix===post.title){
console.log("Match Found!");
res.render("post", {postTitle:post.title, postBody: post.body});
}else{
console.log("Not a match")
}
});
});
我的 EJS 模板代码:
<%- include('partials/header') -%>
<h1><%=postTitle%></h1>
<p><%=postBody%></p>
<%- include('partials/footer') -%>
我想通了!我所要做的就是更改我的 .ejs 模板:
<%=postBody%>
至
<%-postBody%>