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());
看看请求和响应对象在这里做什么