2017-10-07 4 views
1

J'essaie de naviguer sur un lien frontal de l'application React JS vers un serveur Express.Naviguer dynamiquement un lien vers le serveur Express de l'application React

Exemple

<a href="/pages">Pages</a> 

Dans le serveur Express, je l'ai écrit ce morceau de code

app.get('/pages', (req, res) => { 
    res.send('Pages'); 
}); 

J'ai également mis à jour mon devant fichier package.json comme ceci:

"proxy": { 
    "/pages" : { 
     "target" : "http://localhost:5000" 
    } 
} 

Mon application React s'exécute sur le port 3000 et le serveur Express fonctionne sur le port 5000. Cependant, quand je clique sur le lien Pages rien ne se passe. Je dois changer explicitement le lien frontal comme pour ainsi faire fonctionner:

<a href="http://localhost:5000/pages">Pages</a> 

Est-il possible que je pouvais dynamiquement connecter mon React App avec mon serveur Express sans avoir à spécifier http://localhost:5000 dans tous les liens everytime?

+0

faire serveur express servir frontend sur le même port – dfsq

Répondre

2

Résolu! Mon package.json n'a pas été mis à jour à cause du rechargement à chaud. J'ai dû tuer le serveur webpack existant et l'exécuter à nouveau pour le faire fonctionner. À l'avenir, si quelqu'un est coincé dans cette situation, assurez-vous simplement que vous mettez à jour votre package.json fichier comme ceci:

"proxy": { 
    "/pathname" : { 
     "target" : "http://yourserveraddress" 
    } 
} 
0

Je pense qu'il doit être

"proxy": { 
    "/pages" : { 
    "target" : "http://localhost", 
    "port" : 5000 
    } 
} 
+0

Il donne cette erreur: Erreur de proxy: Impossible de proxy requête/page de localhost: 3000 à http: // localhost/(ECONNREFUSED). – Aditya

+0

Je pensais que vous avez résolu votre problème? Sinon, essayez aussi de mettre changeOrigin: true pour autoriser les cors. – justadudewhohacks

+0

Oui, c'est résolu. Je viens de mentionner que cette réponse m'a donné la réponse que j'ai mentionnée. – Aditya