[英]How could I debug a node.js App deploy on Heroku?
嗨,有沒有辦法調試部署在 heroku 服務器上的 node.js 應用程序。
我無法在本地調試它,因為該應用程序正在接收來自第 3 方的一些發布請求,而且我沒有公共 IP。
謝謝。
我不知道為什么 Heroku 沒有更好地突出顯示這一點,但是使用 Heroku 進行遠程調試所需的文檔在此Heroku Exec (SSH tunneling) 頁面上。 目前它的 node.js 信息需要一些更新以支持較新的檢查器協議,但重要的細節都在那里。
首先,您需要編輯項目樹根部的Procfile
以告訴 Heroku 啟動 Node 並啟用調試:
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"
},
您現在應該能夠在編輯器中啟動調試會話,並在幾秒鍾內將其連接到正在運行的應用程序。 所有正常的調試功能,包括斷點、調用堆棧、變量檢查等都應該可以工作。
2019 Webstorm 2019.2 答案
沒有太大變化,但仍然:
創建一個文件名Procfile
(無擴展名)--> 編輯它:
web: node --inspect ./server.js (or ./app.js or whatever your entry point is)
使用新的 Procfile 部署代碼!
啟用連接 - 打開終端並運行:
heroku ps:exec -a [YOUR_APP_NAME]
一旦你得到一個 $ 命令提示符寫:
exit
在終端:
heroku ps:forward 9229 -a [YOUR_APP_NAME]
現在假設您已連接到您的 heroku 服務器。
最后:刪除 Procfile 並在沒有它的情況下再次部署。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.