Javascript 如何将html呈现到页面中,而不是作为整个视图呈现到Node.js+;快速应用程序?
意图Javascript 如何将html呈现到页面中,而不是作为整个视图呈现到Node.js+;快速应用程序?,javascript,html,node.js,express,Javascript,Html,Node.js,Express,意图 我需要将hmtl的一部分呈现到一个页面中 问题 呈现页面时没有样式或布局 我有一个页面,我需要在纯html,而不是翡翠。但仍将在其他地方使用翡翠 我接着找到了一个可以直接指向html页面的。但是样式和布局如果没有被传递进来 我的上一页是cases.jade,开始时是这样的 extends layout block content .row .twelve.columns h1 title app.get('/cases', function (req, res
我需要将hmtl的一部分呈现到一个页面中 问题
呈现页面时没有样式或布局
我有一个页面,我需要在纯html,而不是翡翠。但仍将在其他地方使用翡翠 我接着找到了一个可以直接指向html页面的。但是样式和布局如果没有被传递进来 我的上一页是
cases.jade
,开始时是这样的
extends layout
block content
.row
.twelve.columns
h1 title
app.get('/cases', function (req, res)
{
res.render('cases.html');
});
现在我的新页面是cases.html
,开始时是这样的
<div class="row">
<div class="twelve columns">
<h1>Before & After Case Gallery</h1>
上面有这个吗
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
在您的jade文件中,您正在扩展布局页面,因此您包含了所有布局信息。但是在HTML版本中,您没有导入任何布局信息 我看你在用。查看布局,查看要在模板中添加的内容:
<% include head %>
<h1>Title</h1>
<p>My page</p>
<% include foot %>
标题
我的页面
在这里,您需要使用
layout.html
中的布局页面内容执行类似于
的操作。include
行基本上会将文件内容复制粘贴到该位置。为什么从Jade切换到HTML?@Šimevid以及这个特定页面有很多嵌套元素。我对jade还不熟悉,html到jade的转换器有很多空格,我最终不得不修改。在这一点上,我只想让它的功能。以后我可以转换。但我不想减慢交付日期,我可以在优化布局后进行转换。问题是layout.jade应该包装HTML代码,所以
无法在开箱即用。OP必须将paste layout.jade复制到两个文件中。因此,您可能建议制作一个
版本的
和页脚
,该版本的列表与我的layout.jade
中的列表相同?因为否则我就不必制作一个layout.html
并将其列为“案例”视图的模板了?好吧,这确实有效,您在上下文中回答。我只更改了
。但是我的项目现在的布局有点粗糙。我真诚地建议你坚持使用一个更强大的模板系统,比如jade。有很多javascript模板系统(甚至像mustasche这样的东西也可以使用)。不过,你可能有你做出这种改变的理由。在mustasche中,您可以创建一个“布局”模板,将“内容”作为参数,并以这种方式呈现布局。