entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Error middleware en nodejs

mi version de express : "express": "^4.12.0"

Nodejs me marca este error al querer usar las siguientes funciones:

app.use(express.bodyParser());
app.use(express.cookieParser('shhhh, very secret'));
app.use(express.session());

Error:

Error: Most middleware (like bodyParser) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.

2 Respuestas

2votos

white Puntos75880

Tienes en tus dependencias body-parsery cookie-parser? en express 4 es diferente la forma en que se usan los middleware.

package.json

"dependencies":
  {
       "body-parser":"*",
       "cookie-parser":"*"
  }

o instalalos

npm install body-parser
npm install cookie-parser

luego...

var bodyParser = require('body-parser'),
      cookieParser = require('cookie-parser'),
      session = require('express-session');

app.use(bodyParser());
app.use(cookieParser('shhhh, very secret'));
app.use(express.session());

0voto

jsstoni comentado

gracias nuevamente...

2votos

jsstoni comentado

Solucion
gracias a la ayuda de @white

var bodyParser = require('body-parser'),
cookieParser = require('cookie-parser'),
session = require('express-session');

app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());
app.use(cookieParser('shhhh, very secret'));
app.use(session({
    secret: 'admin',
    name: 'administrador',
    proxy: true,
    resave: true,
    saveUninitialized: true
}));

Editado: Movido a comentario de la respuesta ya que está basada en la respuesta original de White y no es una respuesta independiente.

0voto

white comentado

Me alegro se haya resuelto, marca esta respuesta como la solución para dar el tema como resuelto.

saludos!

1voto

cloudman Puntos4020

Buenas tardes.

Instálate el módulo bodyparser

npm install body-parser 

Quita la primera línea porque se supone que eso en versiones nuevas ya no se utiliza, hazlo así:

Cambia esto:

app.use(express.bodyParser());

Por esto:

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

Espero que te solucione el problema.
Un saludo.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta