Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何摆脱Connect 3.0不推荐警报?_Javascript_Node.js_Express_Connect_Node.js Connect - Fatal编程技术网

Javascript 如何摆脱Connect 3.0不推荐警报?

Javascript 如何摆脱Connect 3.0不推荐警报?,javascript,node.js,express,connect,node.js-connect,Javascript,Node.js,Express,Connect,Node.js Connect,我是node.js开发人员,使用express.js创建web应用程序。 现在,我的问题是: 每当我在我的计算机上创建一个应用程序,npm就会安装它的东西并运行它(使用node app.js和nodemon),我会在控制台中收到以下消息: connect.multipart() will be removed in connect 3.0 visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives c

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

每当我在我的计算机上创建一个应用程序,npm就会安装它的东西并运行它(使用node 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
这个应用程序很好用。但当我克隆在其他计算机上创建的应用程序时,我没有收到该消息,所以我假设我的计算机中有过时的东西

我去了信息中提到的网站,确认了我的猜测。这是一个弃用警告。然而,我已经更新了node、npm和globalexpress,但我仍然收到了通知

因此,我的问题是:我不知道我需要更新什么才能摆脱这些弃用说明,因为它们让我抓狂

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

这是一个警告,一旦Express更新为使用Connect 3.0,该警告将消失-作为临时修复,请按照页面顶部的说明操作。具体而言,请在应用程序中查找以下行:

app.use(express.bodyParser());
并将其替换为以下内容(这是3.0中的
bodyParser
的内容):

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

我负责此弃用通知。你读过维基吗

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

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

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

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

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

因此,不是:
app.use(express.bodyParser())

使用:


关于connect 3.0问题的更多信息:我还需要添加
app.use(express.multipart())
,因为我的多部分表单停止工作了(当然),这也带来了弃用警告(当然)。请使用wiki中列出的多部分解析器之一。不要使用connect/express“谢谢!你!我快要发疯了你有没有试过直接使用其他图书馆?例如multiparty(express在幕后使用哪个?),在文章的底部有一个很好的列表,它不是一个弃用通知,而是一个突破性的改变。app.use(express.bodyParser)不再适用于最新版本,但libs的主要版本号没有改变,这打破了semver的概念。从
npm install express
运行最新版本,并执行一个非常简单的操作:
var express=require('express'),app=express();app.use(express.bodyParser);get('/',函数(req,res){res.send(200,'ok');});app.listen(3000)。向
http://localhost:3000/
挂起卷曲、浏览器和打印警告。删除
app.use(express.bodyParser)
或切换到
app.use(express.json())
会导致app返回HTTP状态为200的“ok”。这是连接多方,而不是连接多方。我希望有一个选项来抑制此警告;尽管弃用通知很重要,但在企业环境中,很少有人不选择抑制它们。我目前的情况使我无法进行必要的更改,以避免至少6个月的消息,但我可以选择一个配置选项,但现在我们以不同的格式将这些消息散布在日志中,这使得我们的旧日志解析器不太满意。只是思想的食粮;弃用通知很重要,但开发人员需要一种方法在必要时将其清除。@Kris如果您不能直接使用json和urlencoded中间件(可能是因为您使用多部分支持来处理文件上载),则可以在实例化bodyParser时立即覆盖
console.log
,然后把它拿回来。我在Sails中使用这种方法一段时间来规范日志输出
app.use(require('connect-multiparty')())
connect = require('connect');
app.use(connect.json());
app.use(connect.urlencoded());