2016-07-25 58 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

相关问题