Я создал базовое приложение React с приложением create-response-app и простой службой Express. В приложении реакции я добавил «прокси» в файл Package.json, который указывает на URL-адрес службы Express.

 "proxy": <EXPRESS URL HERE>

При локальном тестировании React вызывает Express через прокси и все работает. Когда я развертываю в Google App Engine, прокси не работает. Я протестировал службу Express (на App Engine) с моим локальным экземпляром React, и все работает, как ожидалось. Когда я развертываю приложение React в App Engine (после запуска NPM RUN BUILD), прокси не работает.

Я смотрел видео, как заставить React / Express работать вместе с прокси: https://youtu.be/8bNlffXEcC0

0
Machine Learning 11 Окт 2019 в 19:07

1 ответ

Лучший ответ

Этот параметр предназначен только для разработки согласно https: // create- react-app.dev/docs/proxying-api-requests-in-development

Для производства вам понадобится экспресс, чтобы обслуживать как экспресс-API, так и сборку React. Вы можете сделать это примерно так в своем экспресс-коде:

app.use(express.static(`${__dirname}/../build`)) // serves the react build
app.use('/api', apiRouter) // your api code

Теперь, когда вы запускаете свой экспресс-сервер, он будет обслуживать ваш API и код сборки одновременно.

3
Jake Luby 11 Окт 2019 в 16:23