javascript - node.js 和 ejs 渲染问题

标签 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 不想被渲染。 我不知道我错过了什么。

最佳答案

使用

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

回显页面上的值。

一般来说,我们使用<%= %><%- %>在页面上显示发送的变量/对象

关于javascript - node.js 和 ejs 渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50956102/

相关文章:

javascript - Redis 在某些操作系统上将字符串保存为缓冲区,而不是其他操作系统?

node.js - cookie node.js express

html - 导航到 CSS 样式表的目录

mysql - 如何在用户登录时启动 session 并在用户注销时结束 session

javascript - 如何使用 javascript 和 jquery 排列元素中的文本

javascript - codewars 中的算法混淆

node.js - 使用 Selenium、BrowserStack 和 Node.js 检测损坏的 SSL 或不安全内容警告

javascript - HTML 表单提交(POST req)到服务器应返回动态 HTML

javascript - AngularJS Bootstrap - 控制台错误

javascript - 使用显示表和 float 的响应式网格