处理并保留node.js / express会话
我当前正在使用一个Web应用程序,每次fs.mkdir
都调用此Web应用程序,请删除所有当前的Express会话,因此我需要一种方法来保留所有这些会话。我试图用connect-
mongodb和connect-
redis保留所有这些会话,但是都无效,nodemon总是说req.session是未定义的。我不知道该怎么做才能保留所有会话。
我需要一种方法来保留所有会话,执行时不要丢失它们fs.mkdir
,并为其提供教程,因为我还没有找到任何好的完整教程,任何人都可以使用!在Stackoverflow中,我正在阅读所有与此相关的内容,但是任何方法都可以!请帮忙!
回答:
在fs.mkdir
您删除会话后,听起来很异国。(我发现了您的其他问题)
但是回到问题,这里有一些代码片段,您可以使用会话(redis)。
var express = require('express') , fs = require('fs')
, http = require('http')
, RedisStore = require('connect-redis')(express)
, sessionStore = new RedisStore()
, app = express()
;
app.configure(function(){
app.set('port', 3000);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('secret'));
app.use(express.session({
store: sessionStore
}));
app.use(express.static(__dirname + '/public'));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.get( '/', function(req, res){
res.setHeader("Content-Type", "text/html");
console.log( req.session );
console.log( '------------------------' );
res.end( 'root' );
});
app.get( '/dir/:id', function(req, res){
console.log( req.session );
console.log( '------------------------' );
fs.mkdir( req.params.id );
if ( req.session.dirs === undefined )
req.session.dirs = [];
req.session.dirs.push( req.params.id );
console.log( req.session );
console.log( '------------------------' );
res.setHeader("Content-Type", "text/html");
res.end( 'dir' );
});
server = http.createServer(app).listen(3000);
您应该阅读express的文档,并浏览express
的示例
以上是 处理并保留node.js / express会话 的全部内容, 来源链接: utcz.com/qa/397241.html