首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >bodyParser已弃用express 4

bodyParser已弃用express 4
EN

Stack Overflow用户
提问于 2014-06-20 22:48:08
回答 7查看 421.8K关注 0票数 645

我使用的是EXPRESS4.0,我知道主体解析器已经从express核心中去掉了,我使用的是推荐的替代品,但是我得到了

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

代码语言:javascript
复制
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);
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-06-20 23:07:37

这意味着使用

构造函数

一直是

已弃用

,截至2014-06-19。

代码语言:javascript
复制
app.use(bodyParser()); //Now deprecated

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

代码语言:javascript
复制
app.use(bodyParser.urlencoded());

app.use(bodyParser.json());

以此类推。

如果您仍然收到以下警告

您需要使用

代码语言:javascript
复制
app.use(bodyParser.urlencoded({
  extended: true
}));

The The The

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

如果您使用的是Express >= 4.16.0,则已在方法下重新添加了正文解析器

..。

票数 957
EN

Stack Overflow用户

发布于 2020-01-24 15:33:48

如果您使用的是express >

**

,您可以使用**

The The The

添加了中间件,以提供开箱即用的请求正文解析支持。它使用

模块模块在下面,所以当前需要单独模块的应用程序可以切换到内置的解析器。

来源

Express 4.16.0 -发布日期: 2017-09-28

有了这个,

代码语言:javascript
复制
const bodyParser  = require('body-parser');

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

变成了,

代码语言:javascript
复制
const express = require('express');

app.use(express.urlencoded({ extended: true }));
app.use(express.json());
票数 216
EN

Stack Overflow用户

发布于 2014-11-17 14:53:51

在较旧版本的express中,我们必须使用:

代码语言:javascript
复制
app.use(express.bodyparser());

因为body-parser是介于node和express之间的中间件。现在我们必须像这样使用它:

代码语言:javascript
复制
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24330014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档