我当前正在使用一个Web应用程序,每次fs.mkdir都调用此Web应用程序,请删除所有当前的Express会话,因此我需要一种方法来保留所有这些会话。我试图用connect- mongodb和connect- redis保留所有这些会话,但是都无效,nodemon总是说req.session是未定义的。我不知道该怎么做才能保留所有会话。
fs.mkdir
我需要一种方法来保留所有会话,执行时不要丢失它们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 的示例