2017-09-25 1 views
0

Ich benutze Nodejs Express-Sitzung und Express-Socket.IO-Sitzung, das Problem ist, dass, wenn ich meine server.js ausführen, gibt es einige Fehler:Fehler bei der Verwendung von Express-Sitzung und Express-socket.io-Sitzung NodeJs

express-session deprecated undefined resave option; provide resave option node_modules\express-socket.io-session\index.js:66:7 
express-session deprecated req.secret; provide secret option node_modules\express-socket.io-session\index.js:66:7 
express-session deprecated undefined saveUninitialized option; provide saveUninitialized option node_modules\express-socket.io-session\index.js:66:7 

Hier ist der Code:

var express = require('express'); 
var session = require('express-session'); 
var io = require('socket.io').listen(http); 
var sharedsession = require("express-socket.io-session"); 
var app = express(); 

app.use(session({ 
    secret: 'ssshhhhh', 
    resave: true, 
    saveUninitialized: true 
})); 

io.use(sharedsession(session, { 
    resave: true, 
    secret: 'ssshhhhh', 
    saveUninitialized: true 
})); 

io.sockets.on('connection', function(socket){ 
    console.log(socket.handshake.session); 
}); 

I i auf mein Problem klar gewesen hoffen. Danke

Antwort

0

Ihre Einrichtung sieht nicht richtig aus, Sie möchten Ihre Sitzung so definieren, dass sie über Express und Socket gemeinsam genutzt werden kann.

const session = require('express-session')({ 
    secret: 'ssshhhhh', 
    resave: true, 
    saveUninitialized: true 
}); 
const sharedsession = require('express-socket.io-session'); 
... 
app.use(session); 
io.use(sharedsession(session)); 
+0

@ireeqhz Die Antwort gilt immer noch, wenn Sie eine konfigurierte Sitzung nicht an socket.io übergeben, um einen Verweis auf den Sitzungskonstruktor zu übergeben. – James

Verwandte Themen