2016-07-25 17 views

Antwort

5

Schnell und einfach ist es nur, sich bei heroku anzumelden, zu Ihrer App zu gehen und auf die Schaltfläche Mehr zu klicken. enter image description here

Oder in der Konsole in Ihrem Projektordner Typ heroku logs tail

+1

Sie haben Recht! Das ist ein guter Anfang, aber ich brauche einen Debugger. Ich muss eine JSON-Anfrage prüfen, die ich erhalte. Theoretisch könnte der Inhalt mit req.body aufgerufen werden, aber req.body löst einen undefinierten Fehler für das body-Attribut aus. Wenn ich den req logge, bekomme ich [object] wenn ich Json.stringify (req) logge, erhalte ich einen zirkulären Fehler. Ich habe keine andere Wahl, als das req-Objekt zu untersuchen :( – RaresI

0

Ich weiß nicht, warum Heroku das nicht besser ist hervorzuheben, aber die Dokumentation, die Sie mit Heroku für Remote-Debugging müssen, ist auf dieser Heroku Exec (SSH tunneling) page. Momentan benötigen die node.js-Informationen ein wenig Update, um das neuere Inspector-Protokoll zu unterstützen, aber die wichtigen Details sind alle da.

Zuerst müssen Sie die Procfile an der Wurzel Ihres Projektbaum bearbeiten Heroku zu sagen, Knoten zu starten mit Fehlervermeidung:

web: node --inspect ./server.js (or ./app.js or whatever your entry point is) 

Dann Sie das Heroku CLI Dienstprogramm zum Tunnel der Debug-Port zwischen verwenden müssen Computer und Ihre Heroku-Anwendung. Wenn Sie das noch nicht installiert haben, lesen Sie die Dokumentation zur Installation und loggen Sie sich in Ihr Heroku-Konto ein.

Um die Verbindung aktivieren Sie dies einmal ausführen müssen:

heroku ps:exec 

oder wenn Sie mehrere Heroku Anwendungen laufen:

heroku ps:exec -a my-app-name 

Sobald Sie eine $ Eingabeaufforderung erhalten, schlug ctrl- C zum Beenden.

Als nächstes starten Sie den Tunnel:

heroku ps:forward 9229 [-a my-app-name] 

Jetzt ist Ihre Anwendung ist von jedem IDE zur Verfügung, die Node.js Debugging unterstützt. Für Visual Studio Code, sollten Sie eine launch.json Konfigurationseintrag erstellen, die wie folgt aussieht:

{ 
    "type": "node", 
    "request": "attach", 
    "name": "Heroku", 
    "address": "localhost", 
    "port": 9229, 
    "protocol": "inspector", 
    "localRoot": "${workspaceFolder}", 
    "remoteRoot": "/app" 
}, 

Sie nun in der Lage sein sollte, die Debug-Sitzung in den Editor zu starten und haben es zu einem Lauf App innerhalb weniger Sekunden eine Verbindung . Alle normalen Debugging-Funktionen, einschließlich Breakpoints, Callstacks, Variablenprüfung usw. sollten funktionieren.

+0

Ich bin neugierig, warum jemand diese Antwort abstimmen würde. Wenn es etwas gibt, was ich verbessern könnte, lass es mich wissen. – Bruce

Verwandte Themen