Ich schreibe eine Webanwendung mit react
für Client-Seite und express
Server-Seite.
Ich verwende react-router
(link) Routing der Client-Seiten.
Mit der hashHistory
arbeiten war es einfach und funktionierte gut, aber jetzt möchte ich browserHistory
verwenden.Reagieren Router Browser-Verlauf mit Server-Routing
Wie bereits im Tutorial erwähnt, muss ich meinem Server sagen, dass er die Client-Anfrage erwartet.
Ich kann keine Möglichkeit finden, beide Anforderungen vom Client für Seiten und Anforderungen für die Serververarbeitung zu behandeln. Zum Beispiel habe ich eine Seite im Pfad /product
, aber ich habe auch einen Endpunkt für den Server /authenticate
Verarbeitung.
Im react-router
Tutorial sagt, dass es die folgenden verwenden:
// server.js
// ...
// add path.join here
app.use(express.static(path.join(__dirname, 'public')))
// ...
app.get('*', function (req, res) {
// and drop 'public' in the middle of here
res.sendFile(path.join(__dirname, 'public', 'index.html'))
})
Aber diese Art und Weise wird jede Anfrage (einschließlich /authenticate
) führen es in die index.html
zurück zu senden. Wie kann ich diese beiden zusammenführen?