Size: a a a

JavaScript.Ninja

2020 January 02

D

Dmitry in JavaScript.Ninja
Благодарю
источник

IK

Illya Klymov in JavaScript.Ninja
Vladimir Klimov
Добрый день всем, вопрос по докеру. Казалось бы, очевидные вещи, но не могу понять, как решить) Проблема с коммуникацией между фронтенд-приложением (react статика отдается nginx-ом) и бекенд-сервером внутри докера. Как наладить связь между этими контейнерами так, чтобы на хостинге фронтенд так же мог отправлять запросы беку? Ведь если отправлять условно запросы на localhost:port/api - то работать будет только на локалке.
docker-compose
источник

VK

Vladimir Klimov in JavaScript.Ninja
Illya Klymov
docker-compose
Использую, но какой урл фронт должен использовать для запроса? Я начитал, что тем же nginx-ом надо проксировать запросы по host:port/api на apiContainerName:port/
источник

VK

Vladimir Klimov in JavaScript.Ninja
фронтенду же надо знать, на каком хосте он находится, чтобы слать запросы, не хардкодить же этот адрес
источник

EI

Eduard Ilyaskin in JavaScript.Ninja
Можете отправлять запросы на локалхост и проксировать webpack'oм на текущий домер, а nginx будет проксировать уже на бэк)
источник

EI

Eduard Ilyaskin in JavaScript.Ninja
Вроде можно так делать, если я не ошибаюсь
источник

VK

Vladimir Klimov in JavaScript.Ninja
Eduard Ilyaskin
Можете отправлять запросы на локалхост и проксировать webpack'oм на текущий домер, а nginx будет проксировать уже на бэк)
Да, так решил делать. Фейл капитальный допустил, конечно) У меня с хоста контейнер фронтенда слал на localhost запросы, а на локалхосте была запущена дев версия, и все радостно работало) А потом я понял, что кое-что не учел...)
источник

VK

Vladimir Klimov in JavaScript.Ninja
Стыдоба)
источник

IK

Illya Klymov in JavaScript.Ninja
Vladimir Klimov
фронтенду же надо знать, на каком хосте он находится, чтобы слать запросы, не хардкодить же этот адрес
при использовании docker-compose он захардкоден
источник

VK

Vladimir Klimov in JavaScript.Ninja
Illya Klymov
при использовании docker-compose он захардкоден
Вы предлагаете передавать при билде фронтенд контейнера в прод захардкоженный урл через переменную среды?
источник

V

Vitaly in JavaScript.Ninja
кто как думает, нужно вызов каждой async функции оборачивать в try catch?
источник

V

Vitaly in JavaScript.Ninja
посоветуйте что почитать по ноде, чтобы делать грамотный бек с архитектурой и структорой, по типу как в джаве или c#. Или на ноде так не выйдет?
источник

v

vasilich in JavaScript.Ninja
доки по https://nestjs.com/
источник

V

Vitaly in JavaScript.Ninja
спс
источник

MB

Max Belsky in JavaScript.Ninja
Vitaly
кто как думает, нужно вызов каждой async функции оборачивать в try catch?
есть смысл оборачивать только "за-await-ченые" вызовы. Ну и прелесть исключений в отличии от кодов ошибки, что обработку можно делать на любом уровне стека вызовов. Где можно повлиять на ход выполнения программы, там и делать
источник

.

... in JavaScript.Ninja
Vladimir Klimov
Добрый день всем, вопрос по докеру. Казалось бы, очевидные вещи, но не могу понять, как решить) Проблема с коммуникацией между фронтенд-приложением (react статика отдается nginx-ом) и бекенд-сервером внутри докера. Как наладить связь между этими контейнерами так, чтобы на хостинге фронтенд так же мог отправлять запросы беку? Ведь если отправлять условно запросы на localhost:port/api - то работать будет только на локалке.
Если фронтэнд статика лежит на одном хосте с докер бэкэндом, то по локалхосту и порту можно прокинуть.
Как и где запускается Докер?
источник

VK

Vladimir Klimov in JavaScript.Ninja
...
Если фронтэнд статика лежит на одном хосте с докер бэкэндом, то по локалхосту и порту можно прокинуть.
Как и где запускается Докер?
Ну, используется docker-compose для того, чтобы запустить контейнеры на хосте. Но js-то работает уже непосредственно в браузере. И если он будет отправлять запрос на localhost - ничего работать не будет)
источник

.

... in JavaScript.Ninja
Vladimir Klimov
Ну, используется docker-compose для того, чтобы запустить контейнеры на хосте. Но js-то работает уже непосредственно в браузере. И если он будет отправлять запрос на localhost - ничего работать не будет)
Логично. Тогда хардкорить айпи хоста или вписывать в константу.
Но, это больше похоже на костыль. Создается впечатление, что какято мелочь упущена.
источник

IK

Illya Klymov in JavaScript.Ninja
...
Логично. Тогда хардкорить айпи хоста или вписывать в константу.
Но, это больше похоже на костыль. Создается впечатление, что какято мелочь упущена.
эта конфигурация должна лежать за пределами контейнера, все верно
источник

IK

Illya Klymov in JavaScript.Ninja
про это сегодня видео на канале как раз выходило
источник