ソースウィンドウをubuntuに移動します。
エラー:ほとんどのミドルウェア(jsonなど)はExpressにバンドルされなくなったため、個別にインストールする必要があります。 https://github.com/senchalabs/connect#middleware をご覧ください。
これは私の情報源ですありがとう
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);
Express 4.xには多くの変更点があります。エラーが言うように、ミドルウェアはすべて削除されました。
Package.jsonを更新して「新しい」パッケージを含めます。基本的なリストは here および完全なリスト here です。
上記のコードを使用すると、次のものが必要になります。
// package.json
{
"dependencies":
{
"express":"*",
"body-parser":"*"
}
}
次に、ソースを更新して新しい変更を反映します。
// 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());
App.use(app.router)も削除されていることに注意してください。
いくつかのミドルウェアがexpressにバンドルされていない場合、使用中にexpressキーワードを使用しないでください。
これの代わりに -
app.use(express.bodyParser());
これを書く-
app.use(bodyParser());
私の場合、私はエクスプレスパッケージをインストールしなかったパッケージをエクスポートしていました。パッケージをインストールした後、私の問題はなくなりました。私が使っていたミドルウェアは
app.use(express.json())
パッケージをインストールしたかどうかにかかわらず、package.jsonファイルを確認してください。インストールされていない場合、同じエラーが発生する可能性があります。