我正在使用 express 4.0,并且我知道 body 解析器已从 express 核心中取出,我正在使用推荐的替换,但是我得到了
body-parser 已弃用 bodyParser:使用单独的 json/urlencoded 中间件 server.js:15:12
body-parser 已弃用 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);
最佳答案
表示使用bodyParser()
构造函数已经deprecated ,截至 2014 年 6 月 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.urlencoded()
方法下重新添加了正文解析器。
关于node.js - bodyParser 已弃用 express 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24330014/