/ / express.js Probleme mit Verbindungsmodulen - node.js, express, connect, npm

express.js Probleme mit connect-Modulen - node.js, express, connect, npm

Ich kann die Submodule von express.js nicht verwenden und ich glaube, ich vermisse etwas Grundlegendes gegenüber der Uhr. Ich versuche zu folgen dieses Tutorial ein einfaches Authentifizierungssystem aufzubauen.

Pfad zum Ausdruck im App-Verzeichnis:

./node_modules/express/lib/express.js

Meine App:

var express = require("express");
var app = express.createServer();
app.use(express.bodyDecoder()); // problems happen here

und hier ist was passiert:

meeeeee$ node app.js

node.js:201
throw e; // process.nextTick error, or "error" event on first tick
^
TypeError: Object #<Object> has no method "bodyDecoder"
at Object.<anonymous> (/Users/nflacco/Projects/santorinillc/js/auth-demo/app.js:3:17)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)

Auch als Referenz meine package.json-Datei:

{
"name" : "my dirty little app",
"version" : "0.0.1",
"dependencies" :
{
"express" : "2.5.9",
"connect" : "1.8.7",
"optimist" : "0.3.4"
}
}

Antworten:

1 für die Antwort № 1

Das Tutorial verwendet express 1.0.0rc4 und du benutzt 2.5.9. Die frühere Version von Express ist abhängig von einer Version vor 1.x von verbinden.

bodyDecoder() wurde umbenannt in bodyParser() im 1.x verbinden. Ändern Sie Ihre problematische Codezeile in:

app.use(express.bodyParser());

Vielleicht möchten Sie auch einen Blick auf die 1.x bis 2.x werfen Migrationshandbuch for express berücksichtigt alle anderen Unterschiede zwischen der im Lernprogramm verwendeten und der von Ihnen verwendeten Version.