こんにちは、herokuサーバーに展開されたnode.jsアプリケーションをデバッグする方法はありますか?私はどのようにしてnode.jsアプリケーションをHeroku上にデプロイすることができますか?
アプリがサードパーティからの投稿リクエストを受信していて、公開IPを持っていないため、ローカルでデバッグできません。
ありがとうございました。
こんにちは、herokuサーバーに展開されたnode.jsアプリケーションをデバッグする方法はありますか?私はどのようにしてnode.jsアプリケーションをHeroku上にデプロイすることができますか?
アプリがサードパーティからの投稿リクエストを受信していて、公開IPを持っていないため、ローカルでデバッグできません。
ありがとうございました。
Herokuのは、この優れたを強調しない理由を私は知らないが、あなたはHerokuのでリモートデバッグのために必要なドキュメントは、このHeroku Exec (SSH tunneling) pageです。現在、node.jsの情報には、新しいインスペクタプロトコルをサポートするための更新が必要ですが、重要な詳細はすべてそこにあります。
デバッグ有効にしてノードを開始するHerokuのを伝えるために、あなたのプロジェクトツリーのルートにProcfile
を編集する必要があります:まず
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から入手可能です。あなたは今、あなたのエディタでデバッグセッションを開始することができるはずですし、それが数秒以内に実行中のアプリに接続している
{
"type": "node",
"request": "attach",
"name": "Heroku",
"address": "localhost",
"port": 9229,
"protocol": "inspector",
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app"
},
:Visual Studio Codeについて、あなたはこのようになりますlaunch.json
設定エントリを作成したいと思います。ブレークポイント、コールスタック、変数検査などのすべての通常のデバッグ機能が動作するはずです。
なぜ誰かがこの回答に投票するのか不思議です。もし改善できるものがあれば教えてください。 – Bruce
あなたは正しいです!それは良いスタートですが、私はデバッガが必要です。私が受け取ったJsonの要求を確認する必要があります。理論的には、その内容はreq.bodyを使ってアクセスできますが、req.bodyはbody属性に対して未定義のエラーをスローします。私がreqをログすると、私はJson.stringify(req)を記録すると[object]を取得します。私はいくつかの循環エラーを受け取ります。私はreqオブジェクトを検査する以外に選択肢がありません:( – RaresI