【发布时间】:2018-01-28 00:56:40
【问题描述】:
我正在开发一个 NodeJS 应用程序并希望将其部署到 Heroku。但我遇到的问题是我想使用 IntelliJ IDE 中的调试器在本地调试它。但是在本地运行它并填充 heroku 环境变量的唯一方法是使用“heroku local”运行它,但这会避开 IDE。
是否可以将“heroku local”与 IntelliJ IDE 调试器链接?
【问题讨论】:
标签: node.js heroku intellij-idea
我正在开发一个 NodeJS 应用程序并希望将其部署到 Heroku。但我遇到的问题是我想使用 IntelliJ IDE 中的调试器在本地调试它。但是在本地运行它并填充 heroku 环境变量的唯一方法是使用“heroku local”运行它,但这会避开 IDE。
是否可以将“heroku local”与 IntelliJ IDE 调试器链接?
【问题讨论】:
标签: node.js heroku intellij-idea
将“--debug”或“--inspect”添加到您的 Procfile(取决于您的节点版本)并使用 IntelliJ 的 Node.js 远程调试应该可以工作(只要您通过正确的调试端口)。
您的 Procfile 应该如下所示:
web: node --debug index.js
注意:对于 >=8 的 Node 版本,请使用 --inspect。 --debug 用于 Node 版本
当你运行heroku local 时,它应该是这样的:
russ@lamia node-js-getting-started (master)*$ heroku local
[OKAY] Loaded ENV .env File as KEY=VALUE Format
1:03:20 PM web.1 | Debugger listening on [::]:5858
1:03:20 PM web.1 | Listening on 5000
然后您可以按照以下说明在 IntelliJ 中创建 Node.js 远程调试配置:https://www.jetbrains.com/help/idea/run-debug-configuration-attach-to-node-js-chrome.html。
确保使用正确的端口号(由heroku local 打印),并使用正确的调试协议。如果你使用--inspect,你应该选择'Chrome or Node.js > 6.3 started with --inspect',如果你使用--debug,你应该选择'Node.js
【讨论】: