我怎么能debugging一个node.js应用程序部署在Heroku?
您好有一种方法来debugging部署在heroku服务器上的node.js应用程序。
我无法在本地进行debugging,因为该应用程序正在接收来自第三方的一些邮件请求,而且我没有公共IP。
谢谢。
快速和简单的只是login到Heroku,去你的应用程序,然后点击更多button。
或者在你的项目文件夹中键入heroku logs tail
我不知道Heroku为什么没有更好地突出显示,但是使用Heroku进行远程debugging所需的文档就在这个Heroku Exec(SSH隧道)页面上 。 目前它的node.js信息需要一些更新来支持较新的检查协议,但重要的细节都在那里。
首先,您需要编辑项目树根目录下的Procfile
,以告知Heroku启用了启用了debugging的Node:
web: node --inspect ./server.js (or ./app.js or whatever your entry point is)
然后,您需要使用Heroku CLI实用工具来连接计算机和Heroku应用程序之间的debugging端口。 如果您还没有安装,请阅读如何安装它的文档并将其logging到您的Heroku帐户中。
要启用连接,您需要运行一次:
heroku ps:exec
或者如果你运行多个Heroku应用程序:
heroku ps:exec -a my-app-name
一旦你得到一个$
命令提示符,点击ctrl-C退出。
接下来,启动隧道:
heroku ps:forward 9229 [-a my-app-name]
现在,您的应用程序可以从支持Node.jsdebugging的任何IDE中使用。 对于Visual Studio Code ,您需要创build一个launch.json
configuration条目:
{ "type": "node", "request": "attach", "name": "Heroku", "address": "localhost", "port": 9229, "protocol": "inspector", "localRoot": "${workspaceFolder}", "remoteRoot": "/app" },
您现在应该可以在编辑器中启动debugging会话,并在几秒钟之内将其连接到正在运行的应用程序。 所有正常的debuggingfunction,包括断点,调用栈,variables检查等都应该工作。