Express.js:如何在单个html页面中链接多个模板



给定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();
});

相关内容

  • 没有找到相关文章

最新更新