Как перенаправить запросы API к порту express на WAMP - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть приложение React, которое отправляет запросы на API-сервер express, который работает на порту 9000. В dev я использую в своем пакете настройку прокси-сервера. json, которая работает как положено:

"proxy": "http://localhost:9000/"

Теперь я создал и развернул как API, так и клиент и развернул их оба на www folder на WAMP. API работает нормально, так как я могу взаимодействовать с ним с помощью Postman. Клиент также запущен и работает, однако теперь он пытается вызвать API на неверный порт:

http://localhost/api/...

Как я могу перенаправить запросы API на порт 9000 на WAMP?

http://localhost:9000/api/...

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

В конце концов я решил удалить настройку прокси и поставить перед запросами правильный домен api. Таким образом, все работает как на dev, так и на prod:

private domain = "http://localhost:9000";

get(url: string, params?: any): Promise<any> {
  return new Promise(async (resolve, reject) => {
    try {
      const result = await trackPromise(
        axios.get(this.domain + url, { params: params })
      );
      return resolve(result.data);
    } catch (error) {
      return reject(error.response.data.message);
    }
  });
}
0 голосов
/ 03 февраля 2020

Функция прокси не для производства. Он предназначен для использования только для разработки. Прокси в разработке - это просто функция производительности. Это полезно, если вы обслуживаете одностраничное приложение со своего сервера API в производственном режиме, но хотите использовать сервер разработки, предоставленный create-react-app, во время работы над приложением. Тем не менее, прокси - это просто особенность разработки. Он не предназначен для производства.

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

...