2017-12-08 2 views
1

Ich benutze React-Router-4 HashRouter, weil ich meine statische Build in AWS-Bucket und durch Cloudfront gedient. Also im Wesentlichen habe ich keinen Server an der Front-End-Seite der Dinge, um BrowserRoute zu unterstützen.Reagiere Router 4 HashRouter, wie verbirg ich Hash in der URL?

Was ich will, ist: example.com/#/accounts_ to be _example.com/accounts
In Winkel 1.x würde ich $locationProvider.html5Mode(true) verwenden das gleiche zu erreichen.

Jede Hilfe würde sehr geschätzt werden.

+1

Verwendung '{}' withRouter statt – Aaqib

Antwort

1

Sie können BrowserRouter verwenden. Und ich würde vorschlagen, zu lesen, wie das Client- und Server-Routing funktioniert.

Bei Verwendung dieses Ansatzes müssen Sie, wenn Sie in einer Produktionsumgebung alles verwenden möchten, diese Umgebung so konfigurieren, dass sie eine Fallback-Route zu Ihrer Indexseite hat, um dann das clientseitige Routing zu verarbeiten.

import { BrowserRouter, Switch, Route } from 'react-router-dom'; 

<BrowserRouter> 
    <Switch> 
    <Route exact path="/foo" component={FooController} 
    <Route path="/foo/bar" component={FooController} /> 
    </Switch> 
</BrowserRouter> 

Und Ihre webpack.config.js

devServer: { 
    historyApiFallback: true, 
}, 
Verwandte Themen