Viji
@Viji
Associate 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 или лучшие практики?

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

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

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

Войти через центр авторизации
Похожие вопросы