Развертывание Create React App в подкаталоге, но выполнение вызовов API для родительского пути - PullRequest
0 голосов
/ 31 октября 2019

Я развертываю приложение Create React по определенному пути в более крупном веб-приложении, не поддерживающем React. Например, я скажу, что путь к веб-приложению - www.example.com, а приложение React развернуто по адресу www.example.com/react/

. Я сделал это, установив свойство «homepage» в пакете. json из приложения React на "homepage": "/react", которое должным образом обслуживает статические файлы из /act / path на моем сервере.

Однако, когда я выполняю вызовы API из моего приложения реагирования, они переходят на /react/api/etc вместо /api/etc.

Я могу настроить axios для использования базового пути с жестким кодом www.example.com, но я развертываю его в нескольких средах с разными URL-адресами и мне нужно решение, которое не зависит от жесткого кодазначение.

Я мог бы также написать обходной путь на стороне сервера, но это было бы менее чисто / беспорядок с моей регистрацией и статистикой запросов.

Я бы хотел чистое решение, если оно существует.

1 Ответ

0 голосов
/ 31 октября 2019

что, если вы использовали свойство window.location в своем объекте конфигурации axios:

{
  baseURL: `${location.hostname}/api/` // or window.location.hostname
}
...