2012-05-20 4 views
2

Я новичок в heroku и node.js. У меня есть небольшое приложение node.js, которое я могу запустить и запустить на моей локальной машине, используя FOREMAN из инструментальной панели heroku. Однако я не понимаю, как лучше отлаживать приложение.как отлаживать приложение node.js с помощью мастера героку?

Я вижу, что есть отладчик eclipse для node.js, а также проект узла-инспектора. но я не могу заставить их работать с FOREMAN.

foreman start 

, если невозможно отладить приложение, начатое мастером, в чем заключается цель мастера?

ответ

0

Цель Foreman - позволить вам легко запускать сложные приложения, которые могут состоять из нескольких процессов. Проверьте author's blog post on Foreman:

В последнее время я заметил, что мои веб-приложения запутываются. Мои приложения больше не состоят из одного веб-процесса; Обычно у меня есть один или несколько типов фоновых работников для запуска различных типов заданий и тактовый процесс для обработки планирования. Разделение приложения в этом пути отлично подходит для производительности и масштабируемости. Недостатком, однако, является , так что становится намного сложнее получить приложение и все его запущенные части .

Foreman - это попытка сделать это проще. С помощью мастера вы можете объявить различные процессы, необходимые для запуска вашего приложения с использованием файла Procfile.

Используя Формана, Heroku сделал это так, что вы можете существенно запустить любой вид процесса вы хотите - приложение Rails, приложение Синатры, приложение Node.js, или что-нибудь еще - просто указав, как запустить его в вашем Procfile, который Форман читает и выполняет.

Foreman также позволяет вам использовать этот простой Procfile и экспортировать его в производственные среды с помощью таких инструментов, как Upstart и Init. Он не предоставляет функциональности отладки (и не предназначен).

12

Просто добавление, ваш PROCFILE может выглядеть следующим образом:

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

Так начать отладку вы просто позвоните foreman start webDebug, вы могли бы назвать конфигурацию, однако вы хотите.

Отладчик прослушивает порт 5858, и вам нужно будет позвонить в свое приложение с http://localhost:5100 вместо http://localhost:5000.

+0

Я думаю, что это правильный ответ. – radiodario

+0

@Irina Не могли бы вы объяснить следующие строки: «Отладчик прослушивает порт 5858, и вам нужно будет вызвать ваше приложение с http: // localhost: 5100 вместо http: // localhost: 5000». Thnx – WitVault

+1

@WitVault вам не нужно переключать порт, просто убедитесь, что приложите его правильно, например, по умолчанию «npm debug localhost: 5858» после запуска приложения в режиме отладки. – dmi3y

Смежные вопросы