传递到EJS模板的简单变量未定义

时间:2014-10-14 19:21:55

标签: node.js express ejs

我正在学习NodeJS并构建了一个非常简单的应用程序,它使EJS模板传递一个字符串变量。然而,当我尝试运行它时,它会显示变量" greeting"未定义:

app.js:

var express = require("express");
var app = express();

app.set("view engine", "ejs");

app.get('/', function(req, res) {
    res.render("index.ejs", {
        greeting: "Hello World"
    });
});

app.listen(3000);

index.ejs:

<h1>Testing out EJS</h1>

<h2>Greeting is: <%= greeting %></h2>

关于为什么这不起作用的任何想法?

1 个答案:

答案 0 :(得分:1)

所以我发现这里的解决方案比我想象的要简单得多。如果您在更改项目文件时运行服务器,则无法获取更改。为了避免这种情况,每次更改都需要重新启动服务器。

话虽如此,一个名为Nodemon(https://github.com/remy/nodemon)的工具对开发很有帮助,因为它会在更改后自动为您重新启动服务器。