Проксирование нескольких запросов API с помощью приложения Create React с React-Scripts версии 3.4.1 - PullRequest
0 голосов
/ 28 апреля 2020

В настоящее время я использую старую версию React Script версии 1.5.1. Я хочу обновить свое приложение реагирования (activ-scripts v 3.4.1), но при этом я нарушаю структуру прокси, определенную в моем пакете. json.

Мой текущий JSON имеет

"proxy": {
  "/ossapi": {
    "target": "http://localhost:8002"
  },
  "/pcp": {
    "target": "http://test.corp.test.com:8004"
  },
  "/ossOps": {
    "target": "http://test.corp.test.com:8085"
  },
  "/ems": {
    "target": "http://test.corp.test.com:8001"
  }
}

Я хочу подобную настройку для своего приложения даже после обновления до новой версии React-scripts 3.4.1, так как я проделал большую часть разработки и не хочу перезапускаться с нуля. когда я изменяю версию activ-scripts на последнюю стабильную версию 3.4.1, она продолжает генерировать сбой, не удается разобрать json ошибка.

Пожалуйста, сообщите.

Ниже приведена ошибка, которую я получаю :

npm ERR! code EJSONPARSE
npm ERR! file /Users/dhrumit.sheth/Documents/Dev/stash/console-app/package.json
npm ERR! JSON.parse Failed to parse json
npm ERR! JSON.parse Unexpected token } in JSON at position 1438 while parsing near '...git push --tags",
npm ERR! JSON.parse   },
npm ERR! JSON.parse "proxy": [
npm ERR! JSON.parse   "/os...'
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse package.json must be actual JSON, not just JavaScript.

1 Ответ

0 голосов
/ 28 апреля 2020

"прокси" в пакете. json работает для единственной конечной точки, я считаю. Для более сложной конфигурации вам нужно создать файл setpProxy.js в папке проекта root, установить http-proxy-middleware и поместить туда свои настройки. Код будет выглядеть так.

module.exports = function(app) {
  app.use(
    '/ossapi',
    createProxyMiddleware({
      target: 'http://localhost:8002',
      changeOrigin: true,
    })
  );
  app.use(
    '/pcp',
    createProxyMiddleware({
      target: 'http://test.corp.test.com:8004',
      changeOrigin: true,
    })
  );
};

И остальное такое же. документация здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...