我正在try 使用express 4设置一个nodejs应用程序.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的默认值为true.

所以,将代码改为

app.use(session({secret: '<mysecret>', 
                 saveUninitialized: true,
                 resave: true}));

摆脱了警告.

所以,要说到问题的关键:

如果这些值是默认值,为什么我必须传入这些值,为什么我不必传入其他选项?

推荐答案

正如警告所说,默认值将发生更改,因此他们希望通过现在明确设置这些值,确保在默认值发生更改时(在不久的将来),不会出现意外行为.

Node.js相关问答推荐

从具有内部依赖性的yarn工作空间monorepo创建NPM包

我的位置也移动时左右拖动谷歌 map

Twilio-获取呼叫录音不起作用的请求

Mongoose更新许多不使用数组作为筛选器来更新记录

无法使用Sequelize连接AWS RDS

Node js 处理回调和 Promise

在全局对象上声明的函数

bcrypt.compare 每次都返回 false

级联定时器和Jest 的异步功能

npm chokidar 触发事件两次

如何使用 Jest 模拟异步函数的延迟时间

AJAX 和 Node JS:在我的服务器中接收空数据

使用 Node.js 在内存中缓冲整个文件

Node.js 支持 =>(箭头函数)

如何在 NodeJs 中下载和解压缩内存中的 zip 文件?

如何在 node 中转义 shell 命令的字符串?

Node.js - 判断是否安装了模块而不实际需要它

找不到在 docker compose 环境中运行的 node js 应用程序的模块

node.js 找不到模块mongodb

在 Node.js 中混合使用 JavaScript 和 TypeScript