web-dev-qa-db-fra.com

Erreur: la plupart des middlewares (comme JSON) ne sont plus fournis avec Express et doivent être installés séparément. S'il te plait regarde

je déplace ma fenêtre source vers Ubuntu:

Erreur: la plupart des middlewares (comme JSON) ne sont plus fournis avec Express et doivent être installés séparément. Veuillez consulter https://github.com/senchalabs/connect#middleware .

c'est ma source merci

var http = require('http');
var fs = require('fs');
var express = require('express');
var mysql = require('mysql');
var ejs = require('ejs');

var app = express();
app.use(express.bodyParser());
app.use(app.router);
36
incleaf

Il y a un certain nombre de changements avec Express 4.x. Comme le dit l'erreur, tout le middleware a été supprimé.

Mettez à jour votre package.json pour inclure les "nouveaux" packages. Vous trouverez une liste de base ici et une liste complète ici

En utilisant votre code ci-dessus, il vous suffirait des éléments suivants:

// package.json
{
  "dependencies":
  {
    "express":"*",
    "body-parser":"*"
  }
}

Puis mettez à jour votre source pour refléter les nouvelles modifications:

// app.js
var http = require('http'),
    fs = require('fs'),
    express = require('express'),
    bodyParser = require('body-parser'),
    mysql = require('mysql'),
    ejs = require('ejs');

var app = express();
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());

Notez que app.use (app.router) a également été supprimé.

50
kmchugh12

si certains middleware ne sont pas livrés avec express, n’utilisez pas de mot-clé express lors de leur utilisation.

au lieu de cela - 

app.use(express.bodyParser());

écrire cela - 

app.use(bodyParser());
3
Partha Roy

Dans mon cas, j'exportais un paquet que je n'avais pas installé. après avoir installé le paquet, mon problème a disparu. le middleware que j'utilisais est 

app.use(express.json())

Vérifiez votre fichier package.json si vous avez installé le package ou non. S'il n'est pas installé, vous risquez d'obtenir la même erreur.

0
Zaryab baloch