node.js和ejs渲染问题

时间:2018-06-20 19:55:30

标签: javascript node.js ejs

我的代码和ejs渲染有问题

var express = require("express");
var app = express();
var bodyParser = require('body-parser');
var path = require("path");

//View Engine
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));


app.use(express.static(__dirname + '/views'));


var users = "John Doe";

app.get('/', function(req, res){
  var title = 'Customers';
  res.render('index', {
    title: title,
    users: users
  });

  console.log(Date() + " accessed Site");
});



app.listen(8080);

console.log("Running at port 8080...");

这似乎是一个简单的代码,但它不起作用。这是我的index.ejs

<!DOCTYPE html>
<html lang="de" dir="ltr">
  <head>
    <% include partials/includes %>
    <meta charset="utf-8">
    <title>{%= title %}</title>
  </head>
  <body>
    <% include partials/header %>
    <h1>Alles hat ein Anfang nur die Wurst... wait a second!</h1>
    <h2>{%= users %}</h2>
  </body>
</html>

问题是我的变量titleusers不想被渲染。 我不知道我在想什么。

1 个答案:

答案 0 :(得分:1)

使用

<%= title %><%- title %>

回显页面上的值。

通常,我们使用<%= %><%- %>在页面上显示已发送的变量/对象