2015-05-02 4 views
1
app.engine('html', ejs.renderFile) 
    .set("views", __dirname + '/views') 
    .use("/public", express.static(__dirname + '/public')); 

/*********************************************************************/ 
app.use(cookieParser()); 

app.use(session({ 
    store: new RedisStore({ 
     host: "127.0.0.1", 
     port: "3636" 
    }), 
    secret: 'keyboard cat', 
    resave: false, 
    saveUninitialized: true 
})); 

app.use(function(req, res, next) { 
    var userSession = req.session.userSession; 

    if (!userSession) { 
     userSession = req.session.userSession = ''; 
    } 
    next(); 

}); 

/************************************************************************/ 
server.listen(8080); 

app.get('/', function(req, res) { 
    res.render('index2.html', { 
     infoUser: req.session.userSession 
    }); 
}) 

    .use(function(req, res, next) { 
     res.redirect('/'); 
    }); 

консоль показывает мне:ошибка с курьерским и Connect-Redis по выбору магазина

TypeError: Cannot read property 'userSession' of undefined.

Я уверен, что эта ошибка вызвана объектом «RedisStore», но я не знаю, почему и я дон Не знаете, как исправлено?

Есть ли у меня какие-либо ошибки?

помогите мне пожалуйста !!!

ответ

0

Проблема в вашем RedisStore config. Настройка порта должна быть числом, как это:

app.use(session({ 
    store: new RedisStore({ 
     host: "localhost", 
     port: 3636 
    }), 
    secret: 'keyboard cat', 
    resave: false, 
    saveUninitialized: true 
})); 

Если это не исправить, вы должны также убедиться, что 3636 является правильным портом. По умолчанию Redis использует 6379.

+0

спасибо за ваш ответ, я изменил номер порта, но он не исправил мою проблему. Моя консоль показывает мне то же самое. ** TypeError: Невозможно прочитать свойство 'userSession' неопределенного. ** –

Смежные вопросы