处理并保留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

回到顶部