给定4个。html模板文件header.html
, body_l.html
, body_r.html
, footer.html
:
+-------------------------------+
| Header |
+----------------------+--------+
| | |
| | |
| Body_left | Body_r |
| | |
| | |
+----------------------+--------+
| Footer |
+-------------------------------+
如何使用4个html模板发送回单个html页面?
我尝试了的变化:
//assuming app is express Object.
app.get('/',function(req,res){
res.render('header.html', { data1 : "username" ;} )
.render('body_l.html', { data2 : "page content" ;} )
.render('body_r.html', { data3 : "sidebar content";} )
.render('footer.html', { data4 : "website footer" ;} )
res.end();
});
没有成功。
注:一个真正的乞丐与MEAN堆栈,如果这个问题是不好的文字,请指导我简单的关键词,我会做我的作业。
Express使用什么模板引擎?翡翠,车把,EJS?我相信它们都支持"部分"或"包含",但不同。一些相关文档:
EJS包含- https://github.com/tj/ejs#includes
车把部件- http://handlebarsjs.com/partials.html
翡翠包含- http://jade-lang.com/reference/includes/
从本质上讲,你应该从你的路由函数中呈现最外层的视图或模板文件来提供布局,它应该包括子模板的内部内容块或适当的部分。
例如,假设EJS,您将呈现的layout.ejs
的伪代码可能看起来像:
<body>
<div id="header">
<% include partial/header.ejs %>
</div>
<div id="bodyLeft">
<% include partial/bodyLeft.ejs %>
</div>
<div id="bodyRight">
<% include partial/bodyRight.ejs %>
</div>
<div id="footer">
<% include partial/footer.ejs %>
</div>
</body>
然后通过:
调用它app.get('/',function(req,res){
res.render('layout.ejs', { data : { allDataHere } ;} )
res.end();
});