当前位置: 首页 > 知识库问答 >
问题:

express 4不推荐使用bodyParser

融建树
2023-03-14

我使用的是Express4.0并且我知道body parser已经从express内核中删除了,我使用的是推荐的替换,但我得到的却是

body-parser deprecated bodyparser:使用单独的JSON/urlencoded中间件服务器。js:15:12 body-parser deprecated urlencoded:显式指定“extended:true”用于扩展解析node_modules/body-parser/index。js:74:29

我在哪里可以找到这些所谓的中间件?或者我不应该得到这个错误?

var express     = require('express');
var server      = express();
var bodyParser  = require('body-parser');
var mongoose    = require('mongoose');
var passport    = require('./config/passport');
var routes      = require('./routes');

mongoose.connect('mongodb://localhost/myapp', function(err) {
    if(err) throw err;
});

server.set('view engine', 'jade');
server.set('views', __dirname + '/views');

server.use(bodyParser()); 
server.use(passport.initialize());

// Application Level Routes
routes(server, passport);

server.use(express.static(__dirname + '/public'));

server.listen(3000);

共有2个答案

姜钧
2023-03-14

想要零警告?这样使用:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: true
}));

说明:extended选项的默认值已被弃用,这意味着您需要显式传递true或false值。

邹俊豪
2023-03-14

这意味着使用bodyparser()构造函数已被弃用,从2014-06-19开始。

app.use(bodyParser()); //Now deprecated

现在需要分别调用这些方法

app.use(bodyParser.urlencoded());

app.use(bodyParser.json());

等等。

如果使用urlencoded仍然收到警告,则需要使用

app.use(bodyParser.urlencoded({
  extended: true
}));

现在需要显式传递extended配置对象键,因为它现在没有默认值。

如果您使用的是Express>=4.16.0,则在Express.json()Express.URLencode()方法下重新添加了正文解析器。

 类似资料:
  • 问题内容: 我收到此警告,但是该程序仍然可以正常运行。 MySQL代码向我显示了一条PHP消息: 不推荐使用:mysql_connect():不推荐使用mysql扩展,以后将被删除:在第2行的C:\ xampp \ htdocs \ task \ media \ new \ connect.inc.php中使用mysqli或PDO代替 我的页面是 这是什么意思,我该如何消除该消息? 问题答案: 有

  • 问题内容: 我正在尝试使用和进行单元测试。 当我不包含注释时,测试将失败。但 不推荐使用MockitoJUnitRunner类型 我正在使用Mockito 2.6.9。我应该怎么做? 问题答案: 现在确实已弃用,应该改为使用。如您所见,仅软件包名称已更改,该类的简单名称仍为 。 摘录自javadoc : 移至,该课程将在Mockito 3中删除

  • 新的侦听器(又名OnCameraMoveListener())方法onCameraMove()没有CameraPosition CameraPosition输入变量,所以我很迷惑:有没有方法回收我的旧代码? 这里有一些参考资料。

  • 我收到这个警告,但程序仍然正常运行。 MySQL代码用PHP向我显示了一条消息: 不推荐使用:mysql_connect():不推荐使用mysql扩展,以后将删除该扩展:在C:\xampp\htdocs\task\media\new\connect.inc.php第2行使用mysqli或PDO 我的页是 这意味着什么,我如何消除消息?

  • 我收到此错误,并且尝试将更改为仍然收到不同的错误。

  • 问题内容: 我尝试学习Spring。我正在追踪这个网站http://www.roseindia.net/spring/spring3/spring-3-hello- world.shtml 我尝试了一个例子。我正在使用类似下面的内容,但是在这里显示: XmlBeanFactory类型已弃用 我必须用什么替代呢? 问题答案: ApplicationContext是BeanFactory的子接口。您可