Есть ли способ создать React App и оставить переменные env, которые могут быть динамически заполнены?

У меня есть приложение react, которое обслуживается через Django. У меня есть несколько окружений: staging и prod. Эти окружения имеют разные URL, с которых открывается API.

При сборке приложения React я передаю переменную, которая указывает сборке, какой URL использовать, но это приводит к путанице с несколькими окружениями и git. В итоге я получаю историю git, заполненную сборками из других окружений. Эти сборки передаются в другие ветки при слиянии PR, затем они создают конфликты и т.д.

Я хочу иметь одну сборку React, которая сможет определить, в какой среде она находится, и соответственно обновить API url: после сборки!

Возможно ли это?

Нет, к сожалению, это невозможно в React-приложении. Существуют методы, которые могут определить, в каком окружении находится приложение, и заполнить переменные окружения, но это происходит ДО запуска npm run build. Если вам нужно решение, которое включает в себя это, пожалуйста, пересмотрите свой вопрос. Ссылка: https://create-react-app.dev/docs/adding-custom-environment-variables/

The environment variables are embedded during the build time. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime.
Вернуться на верх