如何摆脱Connect 3.0弃用警报?

Ale*_*rdi 74 javascript connect node.js express 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
Run Code Online (Sandbox Code Playgroud)

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

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

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

我希望有一个人可以帮助我.非常感谢.

Jac*_*pie 170

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

app.use(express.bodyParser());
Run Code Online (Sandbox Code Playgroud)

并用以下内容替换它(这bodyParser将是3.0中的内容):

app.use(express.json());
app.use(express.urlencoded());
Run Code Online (Sandbox Code Playgroud)

  • 我还需要添加`app.use(express.multipart())`因为我的多部分表单停止工作(当然),这也带回了弃用警告(当然). (16认同)
  • 使用wiki中列出的多部分解析器之一.不要使用connect/express' (5认同)
  • 怎么样limit()? (3认同)

Jon*_*Ong 60

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

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

app.use(express.json());
app.use(express.urlencoded());
Run Code Online (Sandbox Code Playgroud)

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

app.use(require('connect-multiparty')())
Run Code Online (Sandbox Code Playgroud)

连接3和express 4上的工作还没有开始,因为节点0.12需要一段时间才能被释放.还没有什么可以更新的.