【问题标题】:NodeJS: I can't make connect-redis work with expressNodeJS:我无法让 connect-redis 与 express 一起工作
【发布时间】:2014-03-10 17:18:40
【问题描述】:

这是我的代码:

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

这是我得到的错误:

  RedisStore.prototype.__proto__ = Store.prototype;
                                        ^
TypeError: Cannot read property 'prototype' of undefined
    at module.exports (/home/cherif/Bureau/Twimbee/server/gamma/node_modules/connect-redis/lib/connect-redis.js:96:41)
    at Object.<anonymous> (/home/cherif/Bureau/Twimbee/server/gamma/index.js:2: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

请帮忙

【问题讨论】:

  • connect-redis 用于会话存储。你定义 app.use(express.session({..., store: new RedisStore(...)}); 在你的应用配置?

标签: node.js express redis node-redis


【解决方案1】:

看起来他们已经在他们的文档中解决了这个问题:

由于 express 4.x.x 的变化,我们现在需要将 express-session 传递给 函数 connect-redis 导出以扩展 express-session.Store:

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

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

https://github.com/visionmedia/connect-redis 正在使用中

【讨论】:

    【解决方案2】:

    1) 从 node_modules 中移除 express

    2) 清理缓存(npm cache clean)

    3) 通过 package.json (*) 或 npm install 安装最新版本

    4) 通过 package.json 或 npm install 安装 connect-redis

    5) 用途:

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

    【讨论】:

      【解决方案3】:

      它还需要使用 resave 和 saveUninitialized ,否则你会收到警告信息。

      app.use( session({ 
          store: new RedisStore({ client : yourClient }), 
          secret: 'yourSecretKey',
          resave: true,
          saveUninitialized: true
      }));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-13
        • 2015-07-18
        • 1970-01-01
        • 1970-01-01
        • 2022-12-01
        • 1970-01-01
        • 2012-04-17
        • 2020-02-29
        相关资源
        最近更新 更多