web-dev-qa-db-fra.com

Create-React-App Proxy dans Production Build

J'utilise create-react-app avec un backend express. J'ai le backend en cours d'exécution sur le port 3001, et le frontend passe par le port 3000 en mode dev. J'ai "proxy": "http://localhost:3001" dans mon package.json et l'api fonctionne parfaitement.

Cependant, lorsque j'utilise la construction de fil, puis que j'exécute serve -s build, les appels API ne sont tout simplement pas effectués. Je ne sais pas pourquoi cela ne fonctionne pas en production, alors qu'en développement.

Toute aide serait très appréciée.

14
X88B88

La fonction proxy n'est pas destinée à la production.

Cela pourrait aider à expliquer davantage: https://github.com/facebookincubator/create-react-app/issues/1087#issuecomment-262611096

11
Gavin Gilmour

Lorsque nous déployons notre application sur Heroku, elle s'exécute en interne sur le réseau Heroku hébergé sur AWS. lorsque nous déployons notre serveur, il s'exécute sur une machine virtuelle cachée très éloignée qui fonctionne également avec de nombreux autres serveurs en même temps. Afin de s'assurer que le trafic de notre navigateur est acheminé vers le bon serveur, Heroku utilise un proxy ou un équilibreur de charge. Il s'agit d'un proxy pour s'assurer que le trafic provenant de notre navigateur est acheminé vers le bon serveur sur son réseau interne.

donc le package que vous utilisez peut ne pas faire de requêtes à cause du proxy, donc dans la configuration de votre package, vous pouvez ajouter une option

proxy:true
0
Yilmaz