J'ai démarré une application React en utilisant create-react-app et exécuté le npm run eject
script pour accéder à tous les fichiers. J'ai ensuite installé express et créé server.js
fichier situé au même niveau que package.json
fichier
ceux-ci sont server.js
contenu du fichier:
const express = require('express');
const app = express;
app.set('port', 3031);
if(process.env.NODE_ENV === 'production') {
app.use(express.static('build'));
}
app.listen(app.get('port'), () => {
console.log(`Server started at: http://localhost:${app.get('port')}/`);
})
Rien de fou ici, juste la configuration de futurs proxys d'api où je dois utiliser des secrets et comme je ne veux pas exposer mon api.
après cela, j'ai ajouté un "proxy": "http://localhost:3001/"
à mon package.json
fichier. Je suis maintenant bloqué car j'ai besoin de savoir comment démarrer correctement mon serveur et utiliser ce server.js
fichier en mode développement puis en production.
Idéalement, il serait également bon d'utiliser plus d'un proxy, c'est-à-dire /api
et /api2
Vous n'avez pas eu à éjecter pour exécuter votre server.js. Vous pouvez simplement l'exécuter avec node server.js
ensemble avec create-react-app
.
Vous pouvez toujours faire npm start
même après l'éjection pour démarrer votre serveur de développement.
Courir /api1
et /api2
, il vous suffit de le gérer dans votre server.js
fichier et cela devrait très bien fonctionner. Vous devez faire correspondre le port
dans votre server.js
et celui dans proxy
paramètres à l'intérieur package.json
- dans ce cas, ce devrait être "proxy": "http://localhost:3031"