2014-05-01 6 views

Antwort

8

Middleware wurde aus dem Kern herausgezogen und bewegt einzelnen Module. Dies ändert die Art der Einrichtung der App, aber Sie haben die Möglichkeit, die gleiche Middleware wie zuvor zu verwenden. Die overview, die das Migrieren von 3.x zu 4.x erläutert, listet die Module auf, die als Ersatz für die Connect-Middleware verwendet werden können.

wird die Syntax leicht unterschiedlich sein, wie Sie explizit die Module, wie express-session, und die dies widerzuspiegeln geändert app.use Aussagen installieren. Die Optionen, die Sie an diese Module weitergeben, sind jedoch die gleichen wie bei der Middleware von Connect ... so können Sie Ihre connect-mongo Details an express-session weiterleiten und weiter rollen.

So ändern Sie müssen nicht, es sei denn es gibt ein weiteres Problem, dass nicht klar, in Ihrer ursprünglichen Frage ist ... und könnte es andere Probleme, wenn Sie eine große, etablierte App haben. Aber wenn Sie einem Tutorial folgen, sollten Sie früh genug in dem Prozess sein, dass dies kein großes Problem sein wird.

bearbeiten: Es sieht aus wie auch discussion about Express 4 auf der connect-mongo Github Seite gab es ist. Es gibt weitere Beispiele gibt es darüber, wie dieses Modul zu verwenden, um mit der neuen Version von Express ...

Edit 2: Der Code, ein paar Mal auf die GitHub-Seite verwiesen, sieht wie folgt aus:

var session = require('express-session'); 
var MongoStore = require('connect-mongo')(session); 

app.use(session({ 
    secret: 'youshouldputyourownsecrethere', 
    store: new MongoStore({ 
     db    : mongoose.connection.db, 
    }) 
})); 
+0

Ich ersetze diesen Code aus der Dokumentation 'var session = require ('express-session'), RedisStore = require ('connect-redis') (Sitzung); app.use (Session ({store: neue RedisStore (Optionen), Geheimnis: 'Tastatur Katze'})) ' mit' var mongoStore = require ('connect-Mongo') (Session); 'und ich bekomme eine Typeerror: kann nicht Eigentum ‚Store‘ undefinierter –

+2

Das Update ist (Stand: vor 15 Minuten, als er das Update zu NPM veröffentlicht) lesen ist: ** Schalter auf [connect-mongostore] (https://www.npmjs.org/package/ connect-mongostore) **. Ihr Team gewinnt mehr [Express 4.0-Unterstützung] (https://github.com/diversario/connect-mongostore/pull/8). – charneykaye

+0

Das ist eine Option, aber es sieht so aus, als ob die Syntax in meiner zweiten Bearbeitung funktioniert, bis der Autor Aktualisierungen vornimmt, um den Parameter '(session)' überflüssig zu machen. Es sieht also eher so aus, "welche Option am geeignetsten ist", als dass die eine oder andere genau richtig ist. –