Viji
@Viji
DevOps Engineer

Как вы меняете localhost на имя сервера в React приложении?

Есть такие участки кода в приложении React, где прописан localhost, например

export const getData = () => {
  return fetch("http://localhost:3000/data.json", {
    headers: {
      "Content-Type": "application/json",
      Accept: "application/json",
    },
  })
    .then((response) => response.json())
    .catch((error) => {
      throw error;
    });
};

Когда делаешь yarn build, этот localhost:3000 компилится и попадает в папку ./build и, естественно, не работает правильно на сервере, напр mysupersite.ru.

Как можно сделать автоматизировать build, чтобы он был готов для продакшена? Хотя бы, чтобы localhost заменился на нужное имя сервера? Неужели только скриптами или есть методы самого React или лучшие практики?
  • Вопрос задан
  • 736 просмотров
Решения вопроса 2
Можно указывать относительный путь без hostname
Можно получать текущий адрес сервера из window.location
Можно подставлять на этапе сборки приложения через environment переменные в webpack или react.
Ответ написан
pumbasl
@pumbasl
Если вы используете CRA то просто создайте в папке проекта эти файлы
.env.production
.env.development
И в них заносите переменные Вашего окружение зависимости от билда

Иначе же используйте dotenv
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы