J'essaie de configurer une application nodejs en utilisant express 4.x. Après avoir trébuché sur les problèmes de suppression du middleware, je l'ai finalement fait fonctionner.
cependant, il y avait quelques messages d'avertissement dans la ligne de code suivante:
app.use(session({secret: '<mysecret>'})
ces avertissements étaient:
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
dans la documentation, les valeurs par défaut pour resave et saveUninitialized sont true.
donc, changer le code pour lire
app.use(session({secret: '<mysecret>',
saveUninitialized: true,
resave: true}));
s'est débarrassé des avertissements.
Donc, pour arriver au point de la question:
pourquoi devrais-je devoir transmettre ces valeurs si ce sont les valeurs par défaut, et pourquoi ne dois-je pas transmettre les autres options?
resave
etsaveUnitialized
sont booléens qui par défaut àtrue
1.7.2: github.com/expressjs/sessionsaveUninitialized
. J'ai copié ce que vous avez posté et j'ai gaspillé 45 minutes en essayant de comprendre si l'avertissement ne disparaît pas. Plus tard, j'ai réalisé qu'il y avait une faute d'orthographe. lol: DRéponses:
Comme le disent les avertissements, les valeurs par défaut changeront donc ils veulent s'assurer qu'en définissant les valeurs explicitement maintenant, vous ne rencontrerez pas de comportement inattendu lorsque les valeurs par défaut changeront (dans un proche avenir).
la source
J'ai trouvé le problème utile:
https://github.com/expressjs/session/issues/56
la source
false
( github.com/expressjs/session#resave , github.com/expressjs/session#saveuninitialized ).Je n'ai pas assez de représentants pour ajouter ceci en commentaire. J'ai ajouté ceci pour ma valeur par défaut de la réponse de Ben.
la source
la source