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);
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é.
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());
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.