如何摆脱Connect 3.0弃用警报?

时间:2013-10-25 04:33:42

标签: javascript node.js express connect node.js-connect

我是使用express.js创建网络应用的node.js开发人员。 到现在为止,我的问题是:

每当我在我的计算机上创建一个应用程序时,npm安装它的东西并运行它(使用节点app.js和nodemon)我在控制台中收到此消息:

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

该应用程序有效,没关系。但是当我克隆在其他计算机上创建的应用程序时,我没有收到该消息,所以我想我的计算机中有一些过时的东西。

我去了邮件中提到的网站并确认了我的推测。这是一个弃用警告。但是,我已更新节点和npm并全局表达,但我仍然得到了说明。

我的问题是,因此:我不知道我需要更新什么才能摆脱弃用说明,因为它们吓坏了我。

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

3 个答案:

答案 0 :(得分:170)

这是一个警告,一旦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 :(得分:60)

我对此弃用通知负责。你读过维基吗? https://github.com/senchalabs/connect/wiki/Connect-3.0

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

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

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

app.use(require('connect-multiparty')())
因为节点0.12需要一段时间才被释放,所以

连接3和express 4的工作还没有开始。没有什么可以更新的。

答案 2 :(得分:1)

因为express只是一个连接的包装器,我建议直接使用connect。

所以代替: app.use(express.bodyParser());

使用:

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