Heroku добавляет неопределенное значение в переменную окружения BASE_URL - PullRequest
0 голосов
/ 20 мая 2019

пытается развернуть vuejs, экспресс приложение к героку.Приложение отображает, но не может получить доступ к API, потому что heroku, кажется, добавляет «undefined» в середине base_url.Все работает локально, как и ожидалось.

Вот моя конфигурация heroku var: BASE_URL: https://goore-todos.herokuapp.com/

Вот запрос API компонента Vuejs:

fetchTodo () {
  let uri = process.env.BASE_URL + '/api/all';
  axios.get(uri).then((response) => {
    this.todos = response.data;
  });
},

Как уже упоминалось, это работаетлокально.

консоль показывает следующую ошибку: VM71: 1 GET https://goore -todos.herokuapp.com / undefined / api / all 404 (не найдено)

и представление пустое.

запросы к https://goore -todos.herokuapp.com / api / через Почтальон работают как положено.

1 Ответ

0 голосов
/ 20 мая 2019

В этом случае похоже, что process.env.BASE_URL не определен. Поскольку он не определен, URL, к которому вы пытаетесь получить доступ, считается относительным. Это означает, что он использует ваш текущий домен и добавляет к нему путь.

Если ваш веб-интерфейс и серверная часть работают в одном домене, нет смысла пытаться передать URL-адрес API в качестве переменной, поскольку вы можете просто использовать относительные URL-адреса.

Если вы хотите получить доступ к URL-адресу через переменную окружения, с приложением веб-интерфейса немного сложнее. Приложение Vue работает в браузере пользователя, а не на вашем сервере, поэтому вы не можете получить к нему прямой доступ.

...