Ich versuche, eine NodeJS-App mit Express 4.x einzurichten. Nachdem ich über die Probleme beim Entfernen von Middleware gestolpert war, funktionierte es endlich.
In der folgenden Codezeile wurden jedoch einige Warnmeldungen angezeigt:
app.use(session({secret: '<mysecret>'})
Diese Warnungen waren:
Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass resave option; default value will change at lib\config\express.js:55:11
Sun, 29 Jun 2014 12:45:10 GMT express-session deprecated pass saveUninitialized option; default value will change at lib\config\express.js:55:11
In der Dokumentation sind die Standardwerte für resave und saveUninitialized true.
Ändern Sie also den zu lesenden Code
app.use(session({secret: '<mysecret>',
saveUninitialized: true,
resave: true}));
habe die Warnungen losgeworden.
Um auf den Punkt der Frage zu kommen:
Warum sollte ich diese Werte übergeben müssen, wenn es sich um die Standardwerte handelt, und warum muss ich die anderen Optionen nicht übergeben?
resave
als auchsaveUnitialized
sind Boolesche Werte, die standardmäßigtrue
in 1.7.2 verwendet werden: github.com/expressjs/sessionsaveUninitialized
. Ich habe kopiert, was Sie gepostet haben, und 45 Minuten verschwendet, um herauszufinden, ob die Warnung nicht verschwindet. Später stellte ich fest, dass ein Rechtschreibfehler aufgetreten war. lol: DAntworten:
Wie in den Warnungen angegeben, ändern sich die Standardwerte, sodass sichergestellt werden soll, dass durch explizites Festlegen der Werte kein unerwartetes Verhalten auftritt, wenn sich die Standardeinstellungen ändern (in naher Zukunft).
quelle
Ich fand das Problem nützlich:
https://github.com/expressjs/session/issues/56
quelle
false
( github.com/expressjs/session#resave , github.com/expressjs/session#saveuninitialized ) zu setzen.Ich habe nicht genug Repräsentanten, um dies als Kommentar hinzuzufügen. Ich habe dies für meinen Standardwert von Bens Antwort hinzugefügt.
quelle
quelle