4

これは私のコードです:

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

助けてください

4

3 に答える 3

16

彼らはドキュメントでこれに対処しているようです:

Express 4.xx の変更により、express-session.Store を拡張するために、express-session を関数 connect-redis exports に渡す必要があります。

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

app.use(session({ store: new RedisStore(options), secret: 'キーボード猫' }))

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

于 2014-03-10T17:20:40.493 に答える
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);

于 2014-03-21T16:52:01.017 に答える