Die meisten middleware (wie komprimieren) ist nicht mehr gebündelt mit den Express
Ich gerade installiert [email protected], [email protected], [email protected] und [email protected] (nur um sicherzugehen). Aber ich habe immer noch folgende Fehlermeldung beim ausführen sails lift
/Users/myuser/myproject/backend/node_modules/express/lib/express.js:89
throw new Error('Most middleware (like ' + name + ') is no longer bundle
^
Error: Most middleware (like compress) is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.
at Function.Object.defineProperty.get (/Users/myuser/myproject/backend/node_modules/express/lib/express.js:89:13)
at Object.module.exports.express.customMiddleware (/Users/myuser/myproject/backend/config/passport.js:127:20)
at Array.loadExpress [as 1] (/usr/local/lib/node_modules/sails/lib/express/index.js:162:25)
at listener (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:462:46)
at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:416:17
at Array.forEach (native)
at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:32:24)
at Object.taskComplete (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:415:13)
at processImmediate [as _immediateCallback] (timers.js:330:15)
Ahnung warum?
InformationsquelleAutor HP. | 2014-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Segel nicht offiziell unterstützt Express 4; es gibt einen Grund, der Express-Abhängigkeit in die Segel
package.json
ist auf eine explizite version! Sie können mit den anderen Antworten hier, um zu versuchen und erhalten Sie Ihre Segel-app ausgeführt, aber Sie sind auf Ihre eigenen, bis wir aktualisieren den Kern, um den neuen Express.Wir sind in der Planung zu erreichen, die Express-team, um zu versuchen und zu synchronisieren Versionen besser in der Zukunft, aber im moment sind wir fleißig am Ausstieg eine stabile Version von Segel v0.10!
InformationsquelleAutor sgress454
Es ist nicht genug, einfach zu installieren, diese Abhängigkeiten in express 4.0.
Nun müssen Sie Ihre app mit
und dann verwenden Sie es.
Gibt es ganz nette Artikel hier: link
und auch hier: link
zum Umgang mit Migration aus expres 3.x.x 4.x.x
InformationsquelleAutor Jarema
Express 4.0 middleware-Dokumentation sagt,
So, Sie müssen explizit alle benötigten middlewares in der
package.json
, als eine Abhängigkeit. Sie finden den link im zitierten text kennen zu lernen, um die repository-Informationen von allen middlewares.InformationsquelleAutor thefourtheye
https://github.com/expressjs/body-parser/issues/31
ändern Sie Ihre
bodyParser()
zuapp.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
Vielleicht bekommen Sie die richtige Antwort.
da die express-version 3-bis 4 -, Körper-parser ist nicht in der express,installieren Sie es independencly.
Kann Ihnen dabei helfen.
InformationsquelleAutor YinPeng.Wei