2014-05-13 22 views
6

ich express 4 zusammen mit node.js, npm und Express-Generator auf meinem Ubuntu 12.04 und erstellt eine App mit den folgenden Befehlen installiert:Express Node.js funktioniert nicht

express test --hogan -c less 
cd test && npm install 
node app.js 

Nun, was ich sollte Get ist "Express Server läuft auf Port 3000", stattdessen wird der Befehl einfach ausgeführt und hinterlässt keine Nachricht oder einen Fehler. Ich habe also keine Ahnung, auf welchem ​​Port Express es läuft oder ob es überhaupt läuft. Weiß jemand also, was schief läuft? Danke im Voraus.

Antwort

16

Der neue Express-Generator fügt keine app.listen Anweisung in der Auto app.js-Datei generiert. Es könnte ein Fehler sein? Was können Sie tun, ist eine Aussage wie

app.listen(3000, function() { 
console.log("express has started on port 3000"); 
}); 

hinzufügen Dies wird anweisen ausdrücklich auf Port 3000 zu hören und auch eine hilfreiche Meldung auf der Konsole ausdrucken.

+0

Ich bekomme das richtige Protokoll in der Konsole, aber mein Browser hängt, wenn ich versuche, localhost zu besuchen: 3000 - irgendwelche Ideen? – conor909

7

Auto erzeugt Express-Apps sind nicht node app.js durch Ausführen gestartet werden soll.

Wenn Sie in Ihrer package.json Datei suchen, dann sollten Sie so etwas wie

"scripts": { 
    "start": "node ./bin/www" 
} 

sehen Dies ist, wie die automatisch generierte App gestartet werden soll. Sie können es entweder starten, indem Sie genau das ausführen, was es dort sagt (d. H. node ./bin/www" aus dem Stammverzeichnis Ihres Projekts), oder der geeignetere Weg ist, es mit npm start aus dem Stammverzeichnis zu starten.