Как переместить значение прокси из package.json в setupProxy.js в CRA v2? - PullRequest
0 голосов
/ 09 октября 2018

С момента выхода недавно выпущенного CRA (Create React App) v2 настройки прокси теперь можно перемещать с package.json на setupProxy.js.У меня простой вопрос: как должен выглядеть мой setupProxy.js, если я просто хочу всегда использовать http://127.0.0.1:5000?Мне это нужно, потому что, если все работает правильно (пока что не повезло), я могу заменить его на переменную из .env файлов для сред dev / prod.Но пока я получаю только a или b:

a) ошибки CORS

b) index.html моего приложения возвращается в результате запроса http

Вотпример одной из версий файла setupProxy.js, который я пробовал:

const proxy = require('http-proxy-middleware');

module.exports = function(app) {
  app.use('/', proxy({target: 'http://127.0.0.1:5000', changeOrigin: true}));
  app.use('/*', proxy({target: 'http://127.0.0.1:5000', changeOrigin: true}));
  app.use(proxy({'/', target: 'http://127.0.0.1:5000', changeOrigin: true}));
  app.use(proxy({'/*', target: 'http://127.0.0.1:5000', changeOrigin: true}));
};

Я пробовал разные версии строки app.use, я только что опубликовал несколько примеров здесь.

Обычно я пытался по одной app.use строке за раз, но также и по нескольким строкам.

Я перезапускал приложение реакции каждый раз, когда менял файл.

Я также пытался использовать process.env.REACT_APP_BACKEND_BASEURL вместо 'http://127.0.0.1:5000', что является моей конечной целью.

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Если я правильно помню, использование setupProxy.js хорошо только для локальной разработки, но мне также нужно, чтобы оно работало и на живом / развернутом сервере, поэтому я вообще не использовал setupProxy.js - я сохранил разныевнутренние URL-адреса в виде переменной REACT_APP_BACKEND_BASEURL в различных файлах .env (URL-адрес loclahost в файле .env.development и удаленный URL-адрес в файле .env.production) и заменяют все вхождения в коде JavaScript внешнего интерфейса для использования process.env.REACT_APP_BACKEND_BASEURL.

0 голосов
/ 19 марта 2019

так что попробуйте

app.use(proxy('/**', { target:'http://127.0.0.1:5000', changeOrigin: true }))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...