74

私は、express.js を使用して Web アプリを作成する node.js 開発者です。今のところ、私の問題は次のとおりです。

コンピューターでアプリを作成するたびに、npm でそのアプリをインストールして実行します (node app.js と nodemon を使用)。コンソールに次のメッセージが表示されます。

connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0
Express server listening on port 3000

アプリは動作します。問題ありません。しかし、他のコンピューターで作成されたアプリを複製すると、そのメッセージが表示されないため、コンピューターに古いものがあると思います。

メッセージに記載されているサイトにアクセスし、推測を確認しました。それは非推奨の警告です。ただし、ノードと npm を更新し、グローバル エクスプレスを更新しましたが、まだメモが表示されます。

したがって、私の問題は、非推奨のメモを取り除くために何を更新する必要があるかわかりません。

誰かが私を助けてくれることを願っています。どうもありがとう。

4

3 に答える 3

170

これは、Express が Connect 3.0 を使用するように更新されると消える警告です。一時的な修正として、https://github.com/senchalabs/connect/wiki/Connect-3.0の上部にある指示に従ってください。具体的には、アプリで次の行を見つけます。

app.use(express.bodyParser());

そして、それを次のように置き換えます (これはbodyParser3.0 にあるものです):

app.use(express.json());
app.use(express.urlencoded());
于 2013-10-26T21:17:20.473 に答える
60

私はこの非推奨通知の責任があります。ウィキは読みましたか?https://github.com/senchalabs/connect/wiki/Connect-3.0

ステップ1:代わりに各パーサーを直接使用するapp.use(express.bodyParser());

app.use(express.json());
app.use(express.urlencoded());

ステップ 2: 別のマルチパート パーサーを使用します。たとえば、connect-multiparty を使用できます。

app.use(require('connect-multiparty')())

ノード 0.12 のリリースには時間がかかるため、connect 3 と Express 4 の作業はまだ開始されていません。更新するものはまだありません。

于 2013-12-16T11:34:50.047 に答える
1

Express は接続するラッパーにすぎないため、connect を直接使用することをお勧めします。

代わりに: app.use(express.bodyParser());

使用する:

connect = require('connect');
app.use(connect.json());
app.use(connect.urlencoded());
于 2014-03-06T23:32:14.233 に答える