2014-04-20 11 views
27

Uczę się pliku node.js i próbuję uruchomić plik app.js, używając komendy node app.js, ale bash nie zwraca nic (bez błędów). Oto kroki I przestrzegać:Nie można uruchomić pliku app.js węzła

$ brew install node

$ sudo npm install -g express

$ sudo npm install -g express-generator

po tym, jak dostać się do nowego folderu utworzonego biegnę

$ express testsite --hogan -c less

$ cd testsite && npm install

Wreszcie

$ node app.js // zwraca żadnych błędów, ale nic z powrotem z wyjątkiem nowej linii poleceń ...

Każda pomoc w tej sprawie byłoby świetnie.

Dzięki!

+0

Naprawdę? Pojawia się błąd, który wskazuje mi na: http: // goo.gl/YnK8p0 –

+0

Po naprawieniu tego błędu (skomentowanie mniej, kto tego potrzebuje ?!), uruchamiam go z app.js węzła i działa dobrze. 'Wyraźne nasłuchiwanie serwera na porcie 3001'. Polecenie 'http.createServer (app) .listen (app.get ('port'), function() {});' should should end the process - is this present? –

+0

OK, usunę to i spróbuję ponownie. Używam tego [samouczka] (https://www.youtube.com/watch?v=ndKRjmA6WNA). – Shivam

Odpowiedz

69

spróbuj npm start z katalogu testsite.

spojrzenie na package.json

scripts : { start : node bin/www } 

Więc trzeba wykonać www pod bin katalogu.

Więc zamiast node app.js użycie node bin/www

+0

zrobiłem to wcześniej, ale nadal nie używam – learner

+4

Czy ktoś może wyjaśnić, dlaczego działa i jaki jest jego cel? –

+0

świetna odpowiedź. npm start wykonał dla mnie całą pracę. cheers @ user626818 –

2

Po uruchomieniu ...

express testsite --hogan -c less 

pojawia się następujący komunikat:

install dependencies: 
    $ cd testsite && npm install 

run the app: 
    $ DEBUG=test ./bin/www 

node app.js nie dla mnie też, ale ./bin/www robi.

FYI npm start również działa dla mnie. Zasadniczo działa to ./bin/www.

EDYCJA: Był ciekawy, dlaczego node.app nie działa, ponieważ podążałem za tym samym przewodnikiem wideo. W komentarzach ktoś powiedział, że węzeł zmienił proces uruchamiania aplikacji po utworzeniu wideo.

12

Spróbuj uruchomić nodejs app.js zamiast węzła app.js

+4

To zadziałało dla mnie. Dlaczego to działa? – Pikamander2

+0

W rzeczywistości, polecenie node jest częścią pakietu node-legacy, który można pobrać za pomocą apt ... –

+0

@ Pikamander2 nodejs jest używany na ubuntu zamiast w węźle, nie pamiętam, dlaczego lub czy jest taki sam w innych smaków linuxowych. –

0

Trzeba dodać ten kod do app.js plik, to powie express do nasłuchu na porcie 3000 i wyświetli komunikat dziennika

app.listen(3000, function() { 
console.log("Express server listening on port 3000"); 
}); 
Powiązane problemy