在Express上调用多个文件 - EJS

时间:2017-06-20 06:05:12

标签: node.js express ejs

我正在为我的网络应用程序使用快速4-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(),但我无法弄清楚它是否同时呈现多个文件。感谢您的回答,如果您觉得我的问题已经被提出,您能给我链接,然后我会检查出来。

1 个答案:

答案 0 :(得分: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的文件,请使用include语句与其他ejs文件合并。确保index.ejs在最初设置的视图目录中

<!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