Javascript expressjs4.2和flash错误(TypeError:Object#<;IncomingMessage>;没有方法';flash';)

Javascript expressjs4.2和flash错误(TypeError:Object#<;IncomingMessage>;没有方法';flash';),javascript,node.js,express,passport.js,Javascript,Node.js,Express,Passport.js,im使用ExpressJS 4.2和PassportJS对本地用户进行身份验证。 一切都很好,除了当我试图站起来失败的时候。 这是我的配置,提前谢谢 ==在app.js中需要 var express = require('express'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var

im使用ExpressJS 4.2和PassportJS对本地用户进行身份验证。 一切都很好,除了当我试图站起来失败的时候。 这是我的配置,提前谢谢

==在app.js中需要

var express      = require('express');
var path         = require('path');
var favicon      = require('static-favicon');
var logger       = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser   = require('body-parser');
var passport     = require('passport')
var mongoose     = require('mongoose');
var flash        = require('connect-flash');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser('secret'));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname, 'public')));
==app.js中的配置

var express      = require('express');
var path         = require('path');
var favicon      = require('static-favicon');
var logger       = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser   = require('body-parser');
var passport     = require('passport')
var mongoose     = require('mongoose');
var flash        = require('connect-flash');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser('secret'));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.static(path.join(__dirname, 'public')));
==/admin路由(routes/admin.js)

==passport文件(config/passport.js)

错误:

Github/express-auth/node_modules/passport/lib/middleware/authenticate.js:111
          req.flash(type, msg);
              ^
TypeError: Object #<IncomingMessage> has no method 'flash'
Github/express auth/node_modules/passport/lib/middleware/authenticate.js:111
要求闪存(类型,msg);
^
TypeError:对象#没有方法“flash”

您还没有在app.js的中间件中初始化
flash

在passport中间件解决问题之前添加
app.use(flash)


请参阅以了解更多信息。

你好,Waldo,谢谢,我这样做了,现在我得到了:Github/express auth/node_modules/connect flash/lib/flash.js:60 if(this.session==未定义)抛出错误('req.flash()需要会话')^Error:req.flash()需要sessionsHI@mdv,我认为您收到的错误信息非常简单。“连接闪存”需要正常工作。同样,正如上非常清楚地指出的,您必须安装并要求它:
var session=require('express-session')app.use(express.cookieParser('secret');app.use(express.session({cookie:{maxAge:60000}));应用程序使用(flash());app.use(passport.initialize());app.use(passport.session())应该可以。
Github/express-auth/node_modules/passport/lib/middleware/authenticate.js:111
          req.flash(type, msg);
              ^
TypeError: Object #<IncomingMessage> has no method 'flash'