【问题标题】:NodeJS: Cannot start connect-redis with Express 4.12.2NodeJS:无法使用 Express 4.12.2 启动 connect-redis
【发布时间】:2015-07-18 14:28:37
【问题描述】:

我正在使用 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

任何帮助将不胜感激。

【问题讨论】:

    标签: node.js session express redis


    【解决方案1】:

    1.4.7connect-redis 的一个相当老的版本。自该版本以来,签名已更改。在接受 connect 对象之前,但自从 2.0 更新后使用 express 4 它现在接受 session 对象。您的代码已经在使用新签名,因此您只需更新您的package.json

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

    和/或更新模块:

    npm install connect-redis
    

    【讨论】:

    • 更新connect-redis后,错误变为Cannot read property 'prototype' of undefined
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 2016-09-19
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    相关资源
    最近更新 更多