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