Frage Wie loswerden von Connect 3.0-Verfallalarm loswerden?


Ich bin ein node.js Entwickler, der Web-Anwendungen mit express.js erstellt. Inzwischen ist mein Problem:

Immer wenn ich eine App auf meinem Computer erstelle, installiere npm seine Sachen und starte sie (mit Knoten app.js und nodemon) bekomme ich diese Nachricht in der Konsole:

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

Die App funktioniert, das ist in Ordnung. Aber wenn ich eine App klone, die auf einem anderen Computer erstellt wurde, bekomme ich diese Nachricht nicht, also nehme ich an, dass ich etwas veraltet auf meinem Computer habe.

Ich ging zu der in der Nachricht erwähnten Seite und bestätigte meine Spekulationen. Das ist eine Verwarnungswarnung. Allerdings habe ich Knoten und Npm aktualisiert und global Express, aber ich bekomme immer noch die Notiz.

Mein Problem ist daher: Ich weiß nicht, was ich aktualisieren muss, um die Abwertungsnotizen loszuwerden, weil sie mich verarschen.

Ich hoffe, dass mir jemand helfen kann. Danke vielmals.


75
2017-10-25 04:33


Ursprung


Antworten:


Dies ist eine Warnung, die verschwindet, sobald Express-Updates für die Verwendung von Connect 3.0 verfügbar sind. Als vorübergehende Lösung befolgen Sie die Anweisungen oben https://github.com/senchalabs/connect/wiki/Connect-3.0. Suchen Sie diese Zeile speziell in Ihrer App:

app.use(express.bodyParser());

Und ersetze es durch das Folgende (das ist was bodyParser wird in 3.0 sein):

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

171
2017-10-26 21:17



Ich bin verantwortlich für diese Ablehnungsbenachrichtigung. Hast du das Wiki gelesen? https://github.com/senchalabs/connect/wiki/Connect-3.0

Schritt 1: Verwenden Sie jeden Parser direkt anstelle von app.use(express.bodyParser());

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

Schritt 2: Verwenden Sie einen anderen mehrteiligen Parser, z. B .: connect-multiparty kann verwendet werden

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

Arbeiten an Connect 3 und Express 4 hat noch nicht begonnen, weil Knoten 0.12 eine Weile dauert, um freigegeben zu werden. Es gibt noch nichts zu aktualisieren.


60
2017-12-16 11:34



Da Express nur ein Wrapper zum Verbinden ist, schlage ich vor, direkt connect zu verwenden.

also statt: app.use(express.bodyParser());

benutzen:

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

1
2018-03-06 23:32