ExpressJS错误:Body-Parser已弃用

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

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) }) 

但是,在命令提示符下,我得到这个错误:

 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 

我试图改变这个:

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

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

像其他post的build议,但它仍然给出了同样的错误。 不知道现在该做什么! 请帮忙。

谢谢!

 var app = express(); // configure body-parser app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); 

我有类似的弃用警告。 这是我的原始代码:

 var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); 

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

 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}));

我已经得到它与以下代码工作:

 var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(bodyParser.json()); 

作为日志,你有app.user(bodyParser.json()); 你不应该得到错误。

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

 var express = require('body-parser'); var app = express(); app.use(bodyParser.json()); 

至:

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

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

Interesting Posts