Javascript expressjs4.2和flash错误(TypeError:Object#<;IncomingMessage>;没有方法';flash';)
im使用ExpressJS 4.2和PassportJS对本地用户进行身份验证。 一切都很好,除了当我试图站起来失败的时候。 这是我的配置,提前谢谢 ==在app.js中需要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
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')然后按照正确的顺序初始化不同的中间件,正如connect flash的页面上所描述的那样。因此,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'