Demigodd
@Demigodd

Как правильно развертывать приложение в Heroku?

Не могу разобраться как правильно указать ссылки, то есть если я открыл приложение локально то Express сервер был на localhost:3003 а React фронт на localhost:3000.

Как то все логично. Во время запроса через axios основную ссылку указал
axios.defaults.baseURL = http://localhost:3003
то есть запрос делаем на бекенд.

Так же и Socket.IO во время connecta
io(http://localhost:3003, { transports: ['websocket'] });


Сейчас для деплоя как я понял нужен уже собранный React APP который сервер отправит пользователю, ну а дальше пользователь без перезагрузки страниц выполнит запросы и т.д.
Для этого на сервер лежит такой код.
app.use('/', express.static(path.join(__dirname, '../build')));

app.get('/*', (req: any, res: any) => {
  res.sendFile(path.resolve(__dirname, '../build', 'index.html'));
});

Сейчас при вызове npm start выполняю react-scripts build и дальше запускаю сам сервер.

И вот отсюда начинается геморрой.
По идее мне нужно указать 3 ссылки.
1) Для запроса axios.
2) Для подключения Socket.IO.
3) PUBLIC_URL который написан в public/index.html, для manifest.json и favicon.ico.

Как грамотно все это расставить по своим местам ?
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
@vadimMalovaniy
На фронте вместо localhost:3003 пропиши window.location.host
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы