web-dev-qa-db-ja.com

Connect 3.0の非推奨アラートを取り除く方法は?

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

コンピューターでアプリを作成するたびに、npmがそのものをインストールして実行します(ノード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

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

メッセージに記載されているサイトに行き、推測を確認しました。これは非推奨の警告です。ただし、nodeとnpmを更新し、globally expressを使用しましたが、まだメモがあります。

したがって、私の問題は、非推奨ノートを取り除くために何を更新する必要があるのか​​わからないことです。

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

74
Alevardi

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

app.use(express.bodyParser());

そして、次のものに置き換えます(これは3.0でbodyParserになります):

app.use(express.json());
app.use(express.urlencoded());
170
Jacob Gillespie

この廃止の通知について責任を負います。 wikiを読みましたか? https://github.com/senchalabs/connect/wiki/Connect-3.

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

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

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

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

ノード3のリリースに時間がかかっているため、コネクト3とエクスプレス4の作業はまだ開始されていません。更新するものはまだありません。

60
Jonathan Ong

expressは接続するための単なるラッパーなので、connectを直接使用することをお勧めします。

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

つかいます:

connect = require('connect');
app.use(connect.json());
app.use(connect.urlencoded());
1
Sagiv Ofek