NodeJS:无法使用Express 4.12.2

时间:2015-05-07 20:15:16

标签: node.js session express redis

我正在使用express 4.12.2,express-session 1.11.1,& connect-redis 1.4.7。使用NODE_ENV=production npm start运行以下代码时:

var session = require('express-session');
var RedisStore = require('connect-redis')(session);

app.use(session({
  store: new RedisStore(options),
  secret: 'keyboard cat'
}));

我收到以下错误:

 var Store = connect.session.Store;
                            ^
 TypeError: Cannot read property 'Store' of undefined

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

1.4.7connect-redis的旧版本。签名自该版本以来已更改。在接受connect对象之前,但自从使用express 4进行2.0更新后,它现在接受session对象。您的代码已经在使用新签名,因此要使用此功能,您需要做的就是更新package.json

...
"dependencies": {
    ...
    "connect-redis": "^2.3.0"
}
...

和/或更新模块:

npm install connect-redis