Ответ 1
Как видно из предупреждений, значения по умолчанию будут меняться, поэтому они хотят убедиться, что, установив значения прямо сейчас, вы не столкнетесь с неожиданным поведением, когда значения по умолчанию меняются (в ближайшем будущем).
Я пытаюсь работать с настройкой приложения nodejs с помощью express 4.x. После того, как вы столкнулись с проблемами удаления промежуточного программного обеспечения, я, наконец, начал работать.
однако в следующей строке кода было несколько предупреждающих сообщений:
app.use(session({secret: '<mysecret>'})
эти предупреждения были:
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
в документации, значения по умолчанию для resave и saveUninitialized являются истинными.
поэтому, изменив код на чтение
app.use(session({secret: '<mysecret>',
saveUninitialized: true,
resave: true}));
избавился от предупреждений.
Итак, чтобы подойти к вопросу:
почему мне нужно передавать эти значения, если они являются значениями по умолчанию, и почему мне не нужно передавать другие параметры?
Как видно из предупреждений, значения по умолчанию будут меняться, поэтому они хотят убедиться, что, установив значения прямо сейчас, вы не столкнетесь с неожиданным поведением, когда значения по умолчанию меняются (в ближайшем будущем).
Я нашел проблему полезной:
https://github.com/expressjs/session/issues/56
app.use(session({
secret: cookie_secret,
resave: true,
saveUninitialized: true
}));
У меня недостаточно комментариев, чтобы добавить это как комментарий. Я добавил это для моего значения по умолчанию для ответа Бена.
secret: process.env.SESSION_SECRET || '<mysecret>',
app.use(session({
cookieName: 'session',
secret: 'eg[isfd-8yF9-7w2315df{}+Ijsli;;to8',
duration: 30 * 60 * 1000,
activeDuration: 5 * 60 * 1000,
httpOnly: true,
secure: true,
ephemeral: true,
resave: true,
saveUninitialized: true
}));