Estoy tratando de trabajar configurando una aplicación nodejs usando express 4.x. Después de tropezar con los problemas de eliminación de middleware, finalmente lo hice funcionar.
sin embargo, había un par de mensajes de advertencia en la siguiente línea de código:
app.use(session({secret: '<mysecret>'})
estas advertencias fueron:
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
en la documentación, los valores predeterminados para resave y saveUninitialized son verdaderos.
entonces, cambiando el código para leer
app.use(session({secret: '<mysecret>',
saveUninitialized: true,
resave: true}));
se deshizo de las advertencias.
Entonces, para ir al grano de la pregunta:
¿Por qué debería pasar estos valores si son los valores predeterminados y por qué no tengo que pasar las otras opciones?
resave
comosaveUnitialized
son valores booleanos predeterminadostrue
en 1.7.2: github.com/expressjs/sessionsaveUninitialized
. Copié lo que publicaste y gasté 45 minutos tratando de averiguar por qué la advertencia no desaparecía. Más tarde me di cuenta de que había un error de ortografía. lol: DRespuestas:
Como dicen las advertencias, los valores predeterminados cambiarán, por lo que quieren asegurarse de que al establecer los valores explícitamente ahora, no se encontrará con un comportamiento inesperado cuando los valores predeterminados cambien (en un futuro próximo).
fuente
Encontré el problema útil:
https://github.com/expressjs/session/issues/56
fuente
false
( github.com/expressjs/session#resave , github.com/expressjs/session#saveuninitialized ).No tengo suficiente representante para agregar esto como comentario. Agregué esto para mi valor predeterminado de la respuesta de Ben.
fuente
fuente