关于node.js:ExpressJS错误:不推荐使用Body-Parser

ExpressJS Error: Body-Parser Deprecated


我正在尝试构建Node.js API,在编写server.js文件时,我的代码如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var express = require('express');
var express = require('body-parser');

var app = express();
app.use(bodyParser.json());

app.get('/api/posts', function(req,res) {
res.json([
    {
        username: 'oscar',
        body: 'hello'
    }

])
})

app.listen(3000, function() {
console.log('Server Listening on', 3000)
})

但是,在命令提示符下,我收到此错误:

1
2
3
4
body-parser deprecated bodyParser: use individual json.urlencoded
middlewares server.js:4:11
body-parser deprecated undefined extended: provide extended option
node_modules\body-parser\index.js:85:29

我尝试将其更改为:

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

1
app.use(bodyParser.urlencoded({ extended: false }))

像其他帖子所建议的那样,但是它仍然给出相同的错误。 不知道现在该怎么办! 请帮忙。

谢谢!


1
2
3
4
5
6
var app = express();

// configure body-parser

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

我也有过时的警告。 这是我的原始代码:

1
2
3
4
5
6
7
var express = require('express');
var bodyParser = require('body-parser');

var app = express();

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

添加{extended: true}修复了对我的警告。 这是更改的代码:

1
2
3
4
5
6
7
var express = require('express');
var bodyParser = require('body-parser');

var app = express();

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


您实际上不需要行app.use(bodyParser.urlencoded({extended: true}));

我已经将其与以下代码一起使用:

1
2
3
4
5
6
var express = require('express');
var bodyParser = require('body-parser');

var app = express();

app.use(bodyParser.json());

app.user(bodyParser.json());一样作为日志,您不应收到该错误。


除非您有错字,否则请更改:

1
2
3
4
var express = require('body-parser');

var app = express();
app.use(bodyParser.json());

至:

1
2
3
var bodyParser   = require('body-parser');
var app = express();
app.use(bodyParser());

看看这里的请求和响应对象做什么