2017-06-20 114 views
0

我正在使用express 4 - ejs组合为我的web应用程序,我想知道如何渲染多个文件取决于被调用的路由/ url。快速呼叫多个文件 - EJS

比方说,我有header.ejs,我要呈现在每一页上,并header.ejs代码:

<div class="wrapper"> 
    <div class="header-area">Header IS Gonna Be Here</div> 
    <div class="content-area">Content Area Gonna Be Different on Every Page Depend on the Router</div> 
</div> 

我的存在调用header.ejs文件的方法是using res.render()但我不能找出它同时呈现多个文件。谢谢你的回答,如果你觉得我的问题已经被问到了,你可以给我链接,然后我会检查出来。

回答

0

这个概念被称为您的布局模板,基本上创建保持静态的页眉页脚部分。在res.render(),你会渲染你需要的数据视图,并添加到页眉和页脚:

app.get('/', function(req, res){ 
    res.render('index',{user:"John Smith"}) 
// pass main ejs file name, pass any data variables 
}); 

要渲染名为index.ejs文件,与使用其他EJS合并文件包括语句。一定要确保index.ejs是在views目录中已设置最初

<!DOCTYPE html> 
< html lang="en"> 
    < head> 
    <% include ../partials/head %> 
    </ head> 
    < body class="container"> 
    < header> 
     <% include ../partials/header %> 
    </ header> 
    < main> 
     < div class="jumbotron"> 
     < h1> This is great </ h1> 
     < p> Welcome to templating using EJS </ p> 
     < p> welcome <%= user%>;< /p> 
     </ div> 
    </ main> 
    < footer> 
     <% include ../partials/footer %> 
    </ footer> 
    </ body> 
</ html> 

Check for tutorial

+0

以及如何区分,包括不同的路线上的文件吗? – myd07

+0

检查更新的答案。 –

+0

谢谢,它的工作 – myd07