如何消除 Connect 3.0弃用警报?

我是一个 node.js 开发人员,使用 Express.js 创建 web 应用程序。 现在,我的问题是:

每当我在我的电脑上创建一个应用程序,npm 安装它的东西并运行它(使用节点 app.js 和 noemon) ,我在控制台得到这个消息:

connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0
Express server listening on port 3000

应用程序可以用,没关系。但是当我克隆一个在其他电脑上创建的应用程序时,我没有收到这个消息,所以我假设我的电脑里有一些过时的东西。

我去了信息中提到的网站,证实了我的猜测。这是一个弃用警告。但是,我已经更新了 node 和 npm 以及 global Express,但是我仍然得到了注释。

因此,我的问题是: 我不知道需要更新哪些内容才能去掉那些弃权票据,因为它们把我吓坏了。

我希望有人能帮助我。 非常感谢。

19743 次浏览

一旦 Express 更新为使用 Connect 3.0,这个警告就会消失——作为一个临时修复,请按照 https://github.com/senchalabs/connect/wiki/Connect-3.0顶部的说明操作。具体来说,在你的应用程序中找到这一行:

app.use(express.bodyParser());

并将其替换为以下内容(这就是 bodyParser在3.0中的内容) :

app.use(express.json());
app.use(express.urlencoded());

我负责这个弃用通知。你看了维基百科吗

步骤1: 直接使用每个解析器而不是 app.use(express.bodyParser());

app.use(express.json());
app.use(express.urlencoded());

步骤2: 使用不同的多部分解析器,例如: connect-multiparty 可以被使用

app.use(require('connect-multiparty')())

连接3和 Express 4的工作尚未开始,因为节点0.12需要一段时间才能发布。还没什么要更新的。

既然 Express 只是一个要连接的包装器,我建议直接使用 connect。

所以不是: app.use(express.bodyParser());

用途:

connect = require('connect');
app.use(connect.json());
app.use(connect.urlencoded());