ejs模板没有正确渲染

我正在尝试复制使用护照创build用户身份validation的教程。

每当我尝试在signup.ejs中包含下面的代码片段:

<% if (message.length > 0) { %> <div class="alert alert-danger"><%= message %></div> <% } %> 

它抛出错误,只要我从signup.ejs中删除它,它呈现。

下面是我的app.js (包括所有的configuration), index.js (路由部分), signup.ejs
passport.js (提到这个文件的链接)

app.js

 var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); var mongoose = require("mongoose"); var passport = require('passport'); var flash = require('connect-flash'); var session = require('express-session'); mongoose.connect("mongodb://jer:jer@ds061611.mongolab.com:61611/passport1"); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); require('./config/passport')(passport); app.use(logger('dev')); app.use(cookieParser()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(express.static(path.join(__dirname, 'public'))); // required for passport app.use(session({ secret: 'zxcv' })); // session secret app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.use(flash()); // use connect-flash for flash messages stored in session app.use('/', routes); app.use('/users', users); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // development error handler // will print stacktrace if (app.get('env') === 'development') { app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: err }); }); } // production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); app.listen(8000); module.exports = app; 

index.js

 var express = require('express'); var router = express.Router(); var passport = require('passport'); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index.ejs', { title: 'Express' }); }); router.get('/signup', function(req, res) { // render the page and pass in any flash data if it exists res.render('signup.ejs'); }); // process the signup form console.log("entering signup"); router.post('/signup', passport.authenticate('local-signup', { successRedirect : '/profile', // redirect to the secure profile section failureRedirect : '/signup', // redirect back to the signup page if there is an error failureFlash : true // allow flash messages })); router.get('/profile', isLoggedIn, function(req, res) { console.log("going to profile page................................................................."); res.render('profile.ejs', { user : req.user // get the user out of session and pass to template }); }); function isLoggedIn(req, res, next) { // if user is authenticated in the session, carry on if (req.isAuthenticated()) return next(); // if they aren't redirect them to the home page res.redirect('/'); } module.exports = router; 

signup.ejs

 <!doctype html> <html> <head> <title>Node Authentication</title> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css"> <!-- load bootstrap css --> <link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css"> <!-- load fontawesome --> <style> body { padding-top:80px; } </style> </head> <body> <div class="container"> <div class="col-sm-6 col-sm-offset-3"> <h1><span class="fa fa-sign-in"></span> Signup</h1> <% if (message.length > 0) { %> <div class="alert alert-danger"><%= message %></div> <% } %> <!-- LOGIN FORM --> <form action="/signup" method="post"> <div class="form-group"> <label>Email</label> <input type="text" class="form-control" name="email"> </div> <div class="form-group"> <label>Password</label> <input type="password" class="form-control" name="password"> </div> <button type="submit" class="btn btn-warning btn-lg">Signup</button> </form> <hr> </div> </div> </body> </html> 

passport.js (在下面的链接:)
https://scotch.io/tutorials/easy-node-authentication-setup-and-local

任何帮助将帮助我完成本教程。
提前致谢。

最后,挖出了错误……是一个非常简单和基本的错误。快乐我没有浪费别人的时间…
错误 :我没有将variables传递给模板,而渲染。
codeChange :在/注册path的index.js
res.render('signup.ejs'); res.render('signup.ejs',{message:'errorMessage'});