Изменение Axios baseUrl, доступного из файла env после сборки React App - PullRequest
1 голос
/ 14 марта 2019

В настоящее время я использую файл .env, помещенный в корневую папку приложения реакции с переменной

REACT_APP_BASE_URL = http://localhost:8081

I user axios по умолчанию устанавливает базовый URL дляAPI-запросы

Axios.defaults.baseUrl = process.env.REACT_APP_BASEURL

После сборки React App файл .env не рассматривается, и в случае изменения базового URL-адресаКак я могу сделать это, не перестраивая весь React App.Я хочу сделать базовый URL независимым, чтобы я мог динамически изменять базовый URL.Что было бы лучшим решением для этого?

1 Ответ

2 голосов
/ 15 марта 2019

Итак, вам нужно четко понимать, что происходит с вашими переменными env и процессом сборки.

Когда вы создаете свое приложение create-реагировать на приложение, процесс, который его создает, использует файл .env для переноса вашего кода и его связывания. И это вывод STATIC HTML, JS и CSS-файл.

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

Это не должно быть проблемой, если вы используете структуру файла .env create-Reaction-приложения и используете файл .env.development для разработки с базовым URL-адресом в разработке (когда вы запускаете yarn start) и файл .env.production с базовым URL для производственной сборки. Каждый раз, когда вы хотите изменить значение на сервере, просто обновите его и перестройте. Если вы хотите, чтобы это не было версионно в git, используйте вместо этого .env.production.local

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...