2015-07-04 15 views
7

Ho visto molte domande sul debug di un'applicazione Node/Express, ma, sembra un'applicazione web nodo, non un server RESTful.Debugging Node/Express RESTful API con node-inspector

Ho creato un server semplice e funziona perfettamente all'avvio del server con il comando node server.js. Posso usare Postman o altri strumenti per invocare una richiesta GET/POST.

Dopo aver installato il modulo node-inspector, quando avvio un debug del nodo-ispettore con il comando node-debug server.js, viene visualizzata una pagina Web all'indirizzo http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 con finestra di ispezione.

Quindi, utilizzo postman per richiamare di nuovo la richiesta (che è stata richiamata con successo in precedenza), ma mi mostra un 404 error: Cannot GET /api/v1/user/login.

Come è possibile effettuare una richiesta di debug del server?

+2

Questo è probabilmente perché quando si avvia il debugger, l'esecuzione di 'server.js' è in pausa e il server REST in realtà non è attivo e funzionante. Prova a riprendere l'esecuzione (il pulsante di pausa o di riproduzione) e imposta invece un punto di interruzione. –

+0

No, ho ripreso l'esecuzione. – t4nhpt

+0

Quale versione di NI usi? (Rilasciato 0.11.0 con il debug della rete Questo può causare alcuni problemi. Puoi provare 0.10. *?) – 3y3

risposta

1

Ecco la mia soluzione: non utilizzare il nodo-debug * .js direttamente. Invece, apri due terminali nel tuo progetto. Ad esempio, voglio eseguire il debug di server-3.js, come le immagini qui sotto. In un terminale, l'uso del nodo-ispettore per il debug di ascolto, e un altro nodo uso --debug server 3.js

enter image description here

enter image description here

dopo l'invio di una richiesta su postino: enter image description here

puoi vedere la tua situazione di debug nella finestra del tuo ispettore del nodo in ascolto sulla porta 5858:

enter image description here

Credo che questo sia ciò che si desidera ottenere.

L'ultimo aggiornamento è che si può anche ricorrere a vscode, che ha un plugin chiamato "Debugger per Chrome" che ha la funzione di debug che si desidera.

enter image description here

1

Prova con nodedev

1) Installare nodedev:

sudo npm install -g nodedev 

2) Avviare il server:

nodedev server.js 

3) Visita la pagina http://127.0.0.1:7001/debug?port=7000 di eseguire il debug ...

4) ...

5) Profitto!

Bonus: il server verrà riavviato automaticamente quando vengono rilevate modifiche!

0

Usa nodo-ispettore invece di nodo-debug (viene fornito nello stesso modulo) In un terminale eseguire: node-inspector In un altro terminale eseguire node --debug server.js