2016-07-25 94 views

回答

5

快速簡單的方法是登錄到heroku,轉到您的應用程序,然後單擊更多按鈕。 enter image description here

,或在項目文件夾類型heroku logs tail

+1

你是對的!這是一個好的開始,但我需要一個調試器。我必須檢查我收到的Json請求。理論上它的內容可以使用req.body來訪問,但req.body會爲body屬性拋出一個未定義的錯誤。如果我登錄請求,我得到[對象]如果我登錄Json.stringify(req)我收到一些循環錯誤。我別無選擇,只能檢查req對象:( – RaresI

0

我不知道爲什麼Heroku上並不突出這更好的控制檯,但你需要的Heroku與遠程調試的文件是在這個Heroku Exec (SSH tunneling) page。目前它的node.js信息需要一些更新來支持較新的檢查器協議,但重要細節都在那裏。

首先,你需要在你的項目樹的根編輯Procfile告訴Heroku的與啓用調試啓動節點:

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

然後,你需要使用Heroku CLI實用隧道之間的調試端口的電腦和你的Heroku應用程序。如果您還沒有安裝它,請閱讀有關如何安裝它並將其記錄到您的Heroku帳戶的文檔。

要啓用連接,你需要運行一次這樣的:

heroku ps:exec 

,或者如果你運行多個應用程序的Heroku:

heroku ps:exec -a my-app-name 

一旦你得到一個$命令提示符下敲入CTRL- C退出。

接下來,啓動隧道:

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

現在您的應用程序可從支持Node.js的調試任何IDE。對於Visual Studio Code,你要創建一個類似如下的launch.json配置條目:

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

您現在應該能夠在編輯器中啓動調試會話,並將它在幾秒鐘內連接到正在運行的應用程序。所有正常的調試功能,包括斷點,調用棧,變量檢測等都應該可以工作。

+0

我很好奇爲什麼有人會投下這個答案,如果有什麼我可以改進的,請告訴我。 – Bruce

相關問題