1. ホーム
  2. node.js

[解決済み] express は `body-parser deprecated undefined extended` としてエラーを投げます。

2022-02-01 04:35:36

質問

私のnodeアプリケーションでは、expressを使用しています。 cmd . 私はすべての更新されたモジュールを使用しています...

私のコード。

var express = require('express');
var bodyParser = require('body-parser');
var jade = require('jade');
var app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
app.use(express.static(__dirname + '/public'));


app.use(bodyParser.json()); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded()); // to support URL-encoded bodies


app.get('/',function(req,res){
    res.render('index.jade');
});

app.get('/login',function(req,res){
    res.render('index.jade');
});

app.post('/login',function(req,res){
    console.log(req.body);
});

app.get('/signup',function(req,res){
    res.render('signup.jade');
});

var env = process.env.PORT || 3000;


app.listen(env, function(req, res){
    console.log('i am working!');
});

エラーです。

D:\myLogin>node app
body-parser deprecated undefined extended: provide extended option app.js:11:20 //why i am getting this?
i am working!
{ username: '[email protected]', password: 'pass' } // i am getting response

この問題を理解するために、どなたか助けていただけませんか?

解決方法は?

を明示的に設定する必要があります。 extended に対して bodyParser.urlencoded() から は、次のメジャーバージョンでデフォルト値が変更される予定です。 body-parser . 例

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

以降 express 4.16.0でも可能です。

app.use(express.urlencoded({ extended: true }))