У нас работает 2 сервера.Сервер 1 содержит приложение реакции.На сервере 2 размещается веб-компонент, представленный в виде отдельного пакета JavaScript, а также некоторые ресурсы, такие как изображенияМы динамически загружаем веб-компонент Javascript, размещенный на сервере 2, в наше приложение реакции, размещенное на сервере 1. Тот факт, что это веб-компонент, может или не может повлиять на проблему.
То, что происходит, заключается в том, что веб-компонент использует ресурсы, такие как изображения, расположенные на сервере 2. Но когда приложение реагирует на загрузку веб-компонента, изображения не обнаруживаются, так как он ищет изображения локально на сервере 1..
Мы можем это исправить разными способами.Я ищу самое простое решение.Поскольку приложения Сервера 1 и Сервера 2 разрабатываются разными командами, обе должны иметь возможность разрабатывать наиболее естественным образом, не допуская возможной загрузки их приложений другими приложениями.
Исправления, о которых я мог подумать:
- Использование абсолютных URL-адресов для загрузки ресурсов - Необходимо заранее знать местоположение развертывания.
- Добавление обратного прокси-сервера на сервер 1 для перенаправления на сервер 2 при каждом попадании в конкретный путь - необходимо настроить это.Приложение React может загружать сотни веб-компонентов, то есть нам нужно добавить множество обратных прокси.
- Внедрите все ресурсы в один javascript на сервере 2, например, вставьте svgs в javascript.- Слишком ограниченно.Если SVG огромны и увеличат размер связки.
Я надеялся реализовать что-то вроде -
Так как приложение реагирования знает, где попасть на Сервер 2, мы не можем написать какой-нибудь умный javascript, который заставит браузер перейти на Сервер 2 всякий раз, когда ресурсызапрашиваются Javascript, загруженным сервером 2.