2

我是 heroku 和 node.js 的新手。我有一个小型 node.js 应用程序,我可以使用 heroku 工具带中的 FOREMAN 在本地计算机上成功启动和运行它。不过,我不明白如何最好地调试应用程序。

我看到有一个用于 node.js 的 Eclipse 调试器以及 node-inspector 项目。但我似乎无法与 FORMAN 一起完成这些工作。

foreman start

如果无法调试由工头启动的应用程序,那么工头的目的是什么?

4

2 回答 2

12

只是一个补充,你的 Procfile 可能看起来像这样:

web: node web.js
webDebug: node --debug-brk=5858 web.js`

因此,要开始调试您只需调用foreman start webDebug,您可以根据需要调用配置。

调试器将侦听端口 5858,您必须从http://localhost:5100而不是http://localhost:5000调用您的应用程序。

于 2015-03-16T07:52:52.740 回答
0

Foreman 的目的是让您轻松运行可能由多个进程组成的复杂应用程序。查看作者关于 Foreman 的博客文章

最近我注意到我的网络应用程序运行起来变得越来越复杂。我的应用程序不再包含单个 Web 进程;我通常有一种或多种类型的后台工作人员来运行不同类型的作业和一个时钟进程来处理调度。以这种方式拆分应用程序对于性能和可扩展性非常有用。然而,缺点是让应用程序及其所有部分运行变得更加复杂。

工头试图使这更容易。使用工头,您可以使用 Procfile 声明运行应用程序所需的各种进程。

通过利用 Foreman,Heroku 实现了这一点,您基本上可以运行任何类型的进程——Rails 应用程序、Sinatra 应用程序、Node.js 应用程序或任何其他应用程序——只需指定如何启动它your Procfile,Foreman 读取并执行。

Foreman 还允许您使用 Upstart 和 Init 等工具将这个简单的 Procfile 导出到生产环境。它不提供任何调试功能(也不打算提供)。

于 2012-05-21T01:46:51.310 回答