bodyParser不推荐使用4 [英] bodyParser is deprecated express 4

查看:194
本文介绍了bodyParser不推荐使用4的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用express 4.0,我知道身体解析器已经从快速核心中删除,我使用推荐的替换,但是我正在获得



body-parser deprecated bodyParser:使用个人json / urlencoded中间件server.js:15:12
body-parser deprecated urlencoded:显式指定扩展解析的extended:truenode_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());

//应用程序级别路由
路由(服务器,护照);

server.use(express.static(__ dirname +'/ public'));

server.listen(3000);


解决方案

这意味着使用 bodyParser() 构造函数已被已弃用,截止2014-06-19。

  app.use(bodyParser()); //现在已弃用

您现在需要单独调用方法

  app.use(bodyParser.urlencoded()); 

app.use(bodyParser.json());

等等。



如果你您仍然会收到 urlencoded 的警告,您需要使用

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

扩展配置对象密钥现在需要被明确传递,因为它现在没有默认值。


I am using express 4.0 and I'm aware that body parser has been taken out of the express core, I am using the recommended replacement, however I am getting

body-parser deprecated bodyParser: use individual json/urlencoded middlewares server.js:15:12 body-parser deprecated urlencoded: explicitly specify "extended: true" for extended parsing node_modules/body-parser/index.js:74:29

Where do I find this supposed middlewares? or should I not be getting this error?

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

解决方案

It means that using the bodyParser() constructor has been deprecated, as of 2014-06-19.

app.use(bodyParser()); //Now deprecated

You now need to call the methods separately

app.use(bodyParser.urlencoded());

app.use(bodyParser.json());

And so on.

If you're still getting a warning with urlencoded you need to use

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

The extended config object key now needs to be explicitly passed, since it now has no default value.

这篇关于bodyParser不推荐使用4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆