web-dev-qa-db-ja.com

エラー:ほとんどのミドルウェア(jsonなど)はExpressにバンドルされなくなったため、個別にインストールする必要があります。見てください

ソースウィンドウを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);
37
incleaf

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)も削除されていることに注意してください。

50
kmchugh12

いくつかのミドルウェアがexpressにバンドルされていない場合、使用中にexpressキーワードを使用しないでください。

これの代わりに -

app.use(express.bodyParser());

これを書く-

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

私の場合、私はエクスプレスパッケージをインストールしなかったパッケージをエクスポートしていました。パッケージをインストールした後、私の問題はなくなりました。私が使っていたミドルウェアは

app.use(express.json())

パッケージをインストールしたかどうかにかかわらず、package.jsonファイルを確認してください。インストールされていない場合、同じエラーが発生する可能性があります。

1
Zaryab baloch