dilemme de l’utilisation de “createHashHistory” vs “createBrowserHistory”

J’utilise ” gulp-connect ” comme serveur de développement et j’essaie d’implémenter le routeur de réaction 1.0.0-rc1.

Actuellement, j’utilise “createHashHistory” qui ajoute quelque chose comme:? _K = ckuvup dans l’URL, qui est délibérément défini dans le document . Je suis d’accord avec cela jusqu’à ce que j’envoie des chaînes de requête avec l’URL et mon lien ressemble à quelque chose avec le junk s’ajoutant juste après le nom de domaine plutôt qu’à la fin:

http://localhost:8080/#/?_k=y754gg/jobs?latitude=27.686784000000003&longitude=85.2690875&query_location=Liverpool, United Kingdom&query=fjdkf 

URL attendue (quelque chose comme ça):

 http://localhost:8080/#/jobs?latitude=27.686784000000003&longitude=85.2690875&query_location=Liverpool, United Kingdom&query=fjdkf/?_k=y754gg 

J’aurais pu utiliser “createBrowserHistory” qui a une URL très claire mais le problème est: 1) Configuration du serveur. L’exemple fourni montre seulement comment faire dans Express . Je prévois d’utiliser nginx en production et j’utilise gulp-connect en développement. Comme je ne pouvais pas trouver de référence sur la façon de faire dans ces serveurs, je devais choisir “createBrowserHistory”.

2) Mon backend est sur des rails et si je passe par mon front-end dans un dossier “public”, l’URL avec # devrait séparer les routes client et serveur. Mais je continue de penser qu’il doit y avoir un moyen d’utiliser createBrowserHistory avec une configuration dans nginx.

Ma priorité de cette question est la première partie sur l’ajout de la clé à la fin. Toute référence sur la configuration de différents serveurs sera appréciée.

Vous devriez pouvoir désactiver le hachage d’URL en définissant queryKey: false lors de la création de votre historique:

 var history = History.createHashHistory({ queryKey: false });