Javascript 连接flash和jade:无法显示flash消息

Javascript 连接flash和jade:无法显示flash消息,javascript,node.js,express,pug,flash-message,Javascript,Node.js,Express,Pug,Flash Message,我现在开始使用Express,并想显示一条简单的flash错误消息,但它不起作用 app.js var flash = require('connect-flash'); ... var app = express(); // create an express app // configure environments app.configure(function(){ ... app.use(express.cookieParser('keyboard cat'));

我现在开始使用Express,并想显示一条简单的flash错误消息,但它不起作用

app.js

var flash = require('connect-flash');
...

var app = express(); // create an express app

// configure environments
app.configure(function(){
    ...
    app.use(express.cookieParser('keyboard cat'));
    app.use(express.session({ cookie: { maxAge: 60000 }}));
    app.use(flash());
    app.use(app.router);
});

app.get('/signup', routes.signup);
app.post('/signup', routes.adduser);
...
exports.signup = function(req, res) {
    console.log(req.flash('error'));
    res.render('signup', {message: req.flash('error')});
}
还有我的
router.js

var flash = require('connect-flash');
...

var app = express(); // create an express app

// configure environments
app.configure(function(){
    ...
    app.use(express.cookieParser('keyboard cat'));
    app.use(express.session({ cookie: { maxAge: 60000 }}));
    app.use(flash());
    app.use(app.router);
});

app.get('/signup', routes.signup);
app.post('/signup', routes.adduser);
...
exports.signup = function(req, res) {
    console.log(req.flash('error'));
    res.render('signup', {message: req.flash('error')});
}

现在,我想要的是,如果用户存在,重定向回
signup
,并显示闪烁的错误/信息/任何消息

我的jade模板
注册。jade

extends ../layouts/default

block content
    h1 Sign Up

    if message && message.length
        strong #{message}

    form#formAddUser(name="adduser", method="post", action="/signup")
        input#inputUserName(type="text", placeholder="username", name="username")
        input#inputPassword(type="password", placeholder="password", name="userpassword")
        input#inputUserEmail(type="text", placeholder="email", name="useremail")
        button#btnSubmit(type="submit") Sign Up

这不会显示任何错误。我也尝试了
查找、索引访问等,但没有任何效果。我做错了什么?如何修复此问题?

只需删除该行:

console.log(req.flash('error'));
请求闪存(名称)表示获取并移除闪存。因此,如果您调用req.flash两次,第二次调用将返回空数组

您也可以这样做:

exports.signup = function(req, res) {
    var error = req.flash('error');
    console.log(error);
    res.render('signup', {message: error});
}