在 node.js 中将变量传递给 res.render?

Pass variables to res.render in node.js?

我是 node.js 的初学者。
我的 index.ejs 文件包含一个 header.ejs 文件。一切正常,除了我无法将值传递给 header.ejs.

中的变量 status

index.ejs

<html>
.
.
<title> <%= title %> </title>
.
.
<% include ../partial/header.ejs %>
.
.
</html>

header.ejs

<header>
.
.
<p>logged in status: <%= status %> </p>
.
.
</header>

app.js

.
.
.
app.get('/', function(req, res)
{
    // not working :(
    res.render('index', {
        "status":"loggedin",
        "title":"home"
    });
});
.
.
.

你的结构有点乱。

  1. <title> 应该在 <head>.
  2. 之内
  3. <p> 应该在 <body>.
  4. 之内
  5. 请注意,您可能混淆了模板中的 <head><header> 标签。您可以了解其中的差异 here.

这是一个我希望对您有用的示例:

index.ejs:

<html>
<head>
    <title> <%= title %> </title>
</head>
<body>
    <% include ../partial/header %>
</body>
</html>

header.ejs:

    <p>logged in status: <%= status %> </p>