Comment utiliser React Router with Electron?

En utilisant cette règle comme référence, j'ai créé une application Electron . Il utilise le site Web pour regrouper les scripts et exprimer le serveur pour l'héberger.

La configuration Webpack est pratiquement la même que celle-ci et le serveur.

Les charges de script de l'électron:

mainWindow.loadURL('file://' + __dirname + '/app/index.html');

Et index.html charge le script hébergé par le serveur:

<script src="http://localhost:3000/dist/bundle.js"></script>

Je lance electron index.js pour construire l'application et le node server pour démarrer un serveur qui utilise un package Web regroupant les scripts.

Cela fonctionne bien, mon application React est montée. Mais comment intégrer réactive-routeur dans cette?

Je l'ai mis en œuvre de la même façon que dans une application de navigateur. Je reçois cette erreur:

[react-router] Location "/Users/arjun/Documents/Github/electron-app/app/index.html" did not match any routes

Il prend le chemin du fichier comme itinéraire. Passer le code de la plaque de la chaudière n'a pas aidé. Qu'est-ce qui me manque?

Une autre option serait d'utiliser hashHistory à la place. En fait, dans votre compte référencé, vous pouvez voir qu'ils utilisent hashHistory , qu'en est-il de l'essayer et de le poster?

J'utilise React Router v4 et je ne voulais pas HashRouter au HashRouter , alors je l'ai résolu avec quelque chose parmi les goûts de:

 import { Redirect, BrowserRouter } from 'react-router-dom'; const App = () => ( <BrowserRouter> <div> {window.location.pathname.includes('index.html') && <Redirect to="/" />} </div> </BrowserRouter> ); 

La première chose que j'essayerais est de charger index.html à partir de http: // localhost: 3000 au lieu du fichier: // url.