Приложение Node.Js не может быть успешно развернуто в Heroku - PullRequest
0 голосов
/ 07 января 2019

Это учебник , в котором есть работающее приложение чата. Вы можете найти приложение чата на GitHub .

Я пытаюсь развернуть Git-код на Heroku безуспешно. GitHub отделен от архитектуры клиент / сервер, поэтому для его запуска требуется сервер узлов и ng serve для клиента. Мне нужно 2 динамо для этого? Нужно ли редактировать Procfile? Сервер использует process.env.PORT, но клиентский жестко задан.

Я очень новичок в Heroku и Node.js, поэтому любая помощь имеет для меня значение.

1 Ответ

0 голосов
/ 07 января 2019

Проект GitHub, о котором вы спрашиваете, довольно сложный, и, похоже, в нем нет инструкций по развертыванию Heroku, не зная проекта, трудно дать вам какое-то конкретное решение, но я постараюсь в целом ответить на вопрос, как такое приложения обычно развертываются, и, надеюсь, это поможет вам решить ваши проблемы.

Для таких приложений, как это обычно, разделяют серверную часть и интерфейсную часть и разворачивают ее и размещают отдельно, как две отдельные динамометры, если вы хотите разместить обе на Heroku, или, например, размещение серверной части на Heroku и внешней части на Netlify или аналогичной службе.

Другой вариант может заключаться в том, чтобы сервер обслуживал внешний интерфейс, например. на пути /, когда все конечные точки сервера доступны как /api/* или что-то подобное (или на другом порту, но это невозможно в Heroku). Наличие его на том же хосте и порту, но с префиксом для API имеет то преимущество, что упрощает вопросы, связанные с CORS, поскольку источник один и тот же, поэтому не возникает проблем с несколькими источниками.

Если вы используете WebSockets, тогда это немного сложнее - обязательно прочитайте:

но в любом случае вы все равно можете переместить свой интерфейс на Netlify или что-то подобное и оставить его на Heroku, если хотите.

Трудно дать вам более конкретный ответ на этот вопрос. Я вижу, что вы новичок здесь, поэтому в следующий раз постарайтесь написать более конкретный вопрос и сузить проблему, чтобы вы могли показать небольшой пример кода, который люди могли бы действительно прочитать и помочь вам.

...