在 Express 上调用多个文件 - EJS

问题描述 投票:0回答:2

我正在为我的网络应用程序使用express 4 - ejs组合,我想知道如何根据被调用的路由/url渲染多个文件。

假设我有

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()
但我无法弄清楚同时渲染多个文件。谢谢您的回答,如果您觉得我的问题已经被问到了,可以给我链接吗,我会查看一下。

node.js express ejs
2个回答
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>

查看教程


0
投票

使用像我这样的包含方法:<%- include('includes/header') %>。为此,您需要创建一个文件夹 header.ejs,并将所有代码移至此处,并且需要在所有 ejs 文件中使用包含连接谢谢您的关注!

© www.soinside.com 2019 - 2024. All rights reserved.