2015-05-28 13 views
7

Domanda sto provando a costruire un'API Node.js, quando scrivere il mio file server.js, il mio codice è simile al seguente:ExpressJS Errore: Body-Parser obsolete

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

Tuttavia, nel prompt dei comandi sto ottenendo questo errore:

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 

ho provato a cambiare questo:

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

e

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

come gli altri messaggi suggeriscono, ma dà ancora lo stesso errore. Non sono sicuro su cosa fare ora! Per favore aiuto.

Grazie!

risposta

1

A meno che non si dispone di un errore di battitura, cambiamento:

var express = require('body-parser'); 

var app = express(); 
app.use(bodyParser.json()); 

a:

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

fare avere uno sguardo a ciò che di richiesta e di risposta oggetti fanno here

9
var app = express(); 

// configure body-parser 

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

ho avuto avviso deprecato simile. Ecco il mio codice originale:

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

var app = express(); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded()); 

Aggiunta {extended: true} fissata l'avvertimento per me. Codice Qui è cambiato:

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

var app = express(); 

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

In realtà non c'è bisogno della linea app.use(bodyParser.urlencoded({extended: true}));

li ho di lavorare con il seguente codice:

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

var app = express(); 

app.use(bodyParser.json()); 

come log come avete app.user(bodyParser.json()); voi non dovrebbe ottenere l'errore.

+0

bello, questo ha funzionato per me. –