2011-11-10 3 views
0

私はExpressでセッションを使用しようとしています。私はできるだけ慎重にドキュメントを読んだが、コードとサンプルの間に違いは見当たらず、セッションは初期化されていないようだ。 TypeError例外:未定義のプロパティ「何か」を設定することはできませんExpressのセッションが機能していません

は、ここに私のapp.js

var express = require('express') 
    , routes = require('./routes') 
    , customRoutes = require('./routes/custom.js'); 

var app = module.exports = express.createServer(); 

// Configuration 

app.configure(function(){ 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(__dirname + '/public')); 

    app.use(express.cookieParser()); 
    app.use(express.session({ secret: "keyboard cat" })); 

}); 

app.configure('development', function(){ 
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
}); 

app.configure('production', function(){ 
    app.use(express.errorHandler()); 
}); 

// Routes 

app.get('/', function(req, res){ 

    req.session.something = "please?"; 
    req.session.boo = true; 
    req.session.int = 100; 

    console.log(req.session); // undefined 
}); 

そして、私はそれを実行したときのスタートです。

どうすれば確認できますか?

$ npm ls 

ââ⬠[email protected] 
â âââ [email protected] 
â ââ⬠[email protected] 
â âââ [email protected] 
ââ⬠[email protected] 
â âââ [email protected] 
â âââ [email protected] 
â âââ [email protected] 
â âââ [email protected] 
âââ [email protected] 
+0

してください、質問の名前を意味のあるものに変更してください。 – sorin

答えて

5

ここからの例を確認し、任意のセッションストアを指定しませんでした:https://github.com/alessioalex/Nodetuts/blob/master/express_samples/app.js#L15-31

例えばメモリストアを指定します(これが唯一の開発のためokです):

var MemStore = express.session.MemoryStore; 
... 
app.use(express.session({secret: 'secret_key', store: MemStore({ 
    reapInterval: 60000 * 10 
})})); 
+0

ありがとう、それはトリックでした。 – Apeli

+0

メモリを生産用に使用しても問題ありませんか? –

+3

プロセスが終了して再起動するため、OKではありません。そのプロセスに含まれているすべてのセッションデータが失われます。 RedisストアまたはMongoDBストアを使用する必要があります:https://github.com/visionmedia/connect-redis and https://github.com/kcbanner/connect-mongo – alessioalex

関連する問題