nodejs connect kann statisch nicht finden

HINWEIS: Ich habe versucht, andere Lösung hier gegeben , aber es hat nicht funktioniert

Ein Neuling mit NodeJs. Ich versuche, AngularJS pro zu folgen und bin mit dem Einrichten des NodeJs-Servers stecken geblieben. Laut Buch habe ich nodejs installiert und dann connect-Paket mit npm install connect installiert

dann heruntergeladen angularjs im Ordner neben dem Ordner nodejs. Dann schrieb server.js Datei, um eine Verbindung zum Server herzustellen. Hier ist der Inhalt der Datei:

var connect = require('connect'); connect.createServer(connect.static("../angularjs")).listen( 5000); 

Wenn ich diese server.js-Datei unter Verwendung von ausführen:

 node server.js 

Ich bekomme folgenden Fehler:

  function app(req, res, next){ app.handle(req, res, next); } merge(app, proto); merge(app, EventEmitter.prototype); app.route = '/'; app.stack = []; return app; has no method 'static' at Object. (C:\web\nodejs\server.js:2:36) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3 

Irgendwelche Ideen Jungs? Vielen Dank.

Das connect-Paket hat einige Änderungen in der neuesten 3.x-Version ihrer Codebasis vorgenommen und die static Middleware in ihr eigenes Paket verschoben. Sie können die Liste der Pakete anzeigen, die hier verschoben wurden .

Sie haben also zwei Möglichkeiten:

Option 1
Sie können eine ältere 2.x-Version von connect installieren und diese wie folgt verwenden:

$ npm install connect@2.XX

Wenn Sie die neueste 2.XX-Version installieren, kann Ihre aktuelle Implementierung ordnungsgemäß funktionieren.

Option 2
Sie können weiterhin die 3.x-Version von connect verwenden und auch serve-static hinzufügen:

$ npm install serve-statisch

Sie müssten auch Ihre server.js Datei aktualisieren, um das neue server.js serve-static Modul server.js :

 var connect = require('connect'), serveStatic = require('serve-static'); var app = connect(); app.use(serveStatic("../angularjs")); app.listen(5000); 

Die Antwort von Dylants ist hilfreich. Hier sind jedoch die genauen Schritte, denen ich gefolgt bin, um den gleichen Fehler zu beheben. 1. Wechseln Sie im Befehlsfenster in das Verzeichnis, in dem Sie nodeJS installiert haben. 2. Nachdem Sie npm install connect bereits ausgeführt haben, führen Sie Folgendes aus:

 npm install serve-static 

3. Erstellen Sie eine Datei namens server.js mit dem folgenden Code:

 var connect = require('connect'), serveStatic = require('serve-static'); var app = connect(); app.use(serveStatic("./angularjs")); app.listen(5000); 
  1. Während Sie sich noch im Befehlsfenster befinden und immer noch in dem Verzeichnis, in dem Sie nodeJS installiert haben, führen Sie Folgendes aus:

    Knoten server.js

  2. Navigieren Sie zur URL http: // localhost: 5000 / test.html

Das sollte funktionieren. Hier ist meine Verzeichniskonfiguration: C: \ NodeJSInstallLocation \ angularjs

 var connect = require('connect'), serveStatic = require('serve-static'); connect().use( serveStatic("angularjs") ).listen(5000); 

Sie möchten vielleicht so etwas ausprobieren

 var express = require('express'); var app = express(); app.use(express.static('angularjs'));