2015-07-04 14 views
7

Ich habe viele Fragen zum Debuggen einer Node/Express-Anwendung gesehen, aber es scheint eine Knoten-Web-Anwendung, kein RESTful-Server.Debugging Node/Express RESTful API mit Node-Inspector

Ich habe einen einfachen Server gebaut, und es funktioniert perfekt, wenn Server mit Befehl node server.js starten. Ich kann Postman oder einige andere Tools verwenden, um eine GET/POST-Anfrage aufzurufen.

Nach der Installation der node-inspector-Modul, wenn ich einen Node-Inspector Debug mit Befehl node-debug server.js starten, zeigen Sie mir eine Webseite unter http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 mit Inspektor-Fenster.

Dann verwende ich postman, um die Anfrage erneut aufzurufen (die zuvor erfolgreich aufgerufen wurde), aber es zeigt mir eine 404 error: Cannot GET /api/v1/user/login.

Wie kann eine Anfrage an den Debugging-Server gestellt werden?

+2

, die wahrscheinlich ist, weil, wenn Sie Ihren Debugger starten, wird die Ausführung von 'server.js' angehalten wird und der REST-Server ist nicht wirklich und läuft. Versuchen Sie, die Ausführung fortzusetzen (Pause oder Wiedergabe) und setzen Sie stattdessen einen Haltepunkt. –

+0

Nein, ich habe die Ausführung wieder aufgenommen. – t4nhpt

+0

Welche Version von NI verwenden Sie? (0.11.0 freigegeben mit Netzwerk-Debugging. Dies kann hypothetisch einige Probleme verursachen. Können Sie versuchen, 0.10. *?) – 3y3

Antwort

1

Hier ist meine Lösung: Sie Knoten-debug nicht verwenden * .js direkt. Öffnen Sie stattdessen zwei Terminals in Ihrem Projekt. Zum Beispiel möchte ich Server-3.js debuggen, wie die Bilder hier unten. In einem Anschluß, Verwendung node-Kontrolleur zum Hören Debugging und eine andere Verwendung Knoten --debug server 3.js

enter image description here

enter image description here

nachdem eine Anfrage auf Senden Postbote: enter image description here

Sie können Ihre Debugging-Situation in Ihrem Knoten-Inspektor-Fenster auf Port 5858 hören:

enter image description here

Ich glaube, das ist es, was Sie erreichen wollen.

Das neueste Update ist, dass Sie auch auf vscode zurückgreifen können, das ein Plugin namens "Debugger für Chrome" hat, das die Debug-Funktion hat, die Sie möchten.

enter image description here

1

Versuchen mit nodedev

1) Installieren nodedev:

sudo npm install -g nodedev 

2) Starten Sie Ihren Server:

nodedev server.js 

3) Besuchen Sie die Seite http://127.0.0.1:7001/debug?port=7000 zu debuggen ...

4) ...

5) Profit!

Bonus: Ihr Server wird automatisch neu gestartet, wenn Änderungen erkannt werden!

0

Verwenden Knoten-Inspektor anstelle von Knoten-debug (kommt im selben Modul) In einem Terminal ausführen: node-inspector In einem anderen Terminal ausführen node --debug server.js