您的位置:首页 > 数据库 > Redis

用RedisStore解决session的问题

2015-07-13 11:29 676 查看
用RedisStore解决session的问题http://stackoverflow.com/questions/23249504/cant-use-connect-redis-in-express-js
//create express app
var http = require('http');
var express = require('express');
var app = express();

//add express-session
var session = require('express-session');
var RedisStore = require('connect-redis')(express);
app.use(session({
store: new RedisStore({
host: "redis://redistogo:e34d3***********************f4bb@albacore.redistogo.com:10072/"
})
}));

//routing
var router1 = require('./router/router1')(app);
var router2 = require('./router/router2')(app);

//Deploying server
http.createServer(app).listen(3000, function () {
console.log('Deployed!!');
});
报出了这样的错误
/home/luis/www/express2/node_modules/connect-redis/lib/connect-redis.js:96
RedisStore.prototype.__proto__ = Store.prototype;
^
TypeError: Cannot read property 'prototype' of undefined
at module.exports (/home/luis/www/express2/node_modules/connect-redis/lib/connect-redis.js:96:41)
at Object.<anonymous> (/home/luis/www/express2/app.js:18:42)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
网络上大神的解答:This:
var RedisStore = require('connect-redis')(express);
should be:
var RedisStore = require('connect-redis')(session);
Also remember to install express-session:
npm install express-session --save
If you plan to use Express 3.x, pick compatible version 1.4.7 of connect-redis to avoid the error.
npm install connect-redis@1.4.7 --save
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: