【发布时间】:2015-01-07 21:38:01
【问题描述】:
单个文件 index.js 正在工作
var passport = require('passport');
var app = express();
....
app.use(passport.initialize());
app.use(passport.session());
app.route('/logout').get(function(req,res){
req.logout();
res.send('loggedout');
});
但是当我把它分成两个文件时
//file1 index.js
var passport = require('passport');
var wrapper = require('./wrapper.js');
var app = express();
....
app.use(wrapper(app,passport));
// file2 wrapper.js
module.exports = function(app, passport){
return function(req, res, next){
app.use(passport.initialize());
app.use(passport.session());
app.route('/logout').get(function(req,res){
req.logout();
res.send('loggedout');
});
}
}
在这种情况下,它不是注销。 有时当我将逻辑移动到单独的文件中时,护照初始化无法正常工作,并且我得到“passport.initialize() 中间件未使用”。
告诉我包装护照的方式,以便..所有初始化和会话都在另一个文件(我的意思是模块)中处理,以便在源文件中我可以在不初始化护照的情况下使用包装器。
简而言之,包装护照的模式
【问题讨论】:
标签: node.js express passport.js