クライアント側にはreact
、サーバ側にはexpress
を使用してWebアプリケーションを作成しています。
クライアントページをルーティングするreact-router
(link)を使用しています。
hashHistory
で作業するのは簡単で、うまくいきましたが、今はbrowserHistory
を使いたいと思います。サーバルートを使ったリアルータのブラウザ履歴
react-router
チュートリアルで説明したように、私はサーバにクライアントの要求を期待する必要があるので、クライアントページをレンダリングするときにはindex.html
をサーバにします。
クライアントからのページ要求とサーバー処理要求の両方を処理する方法が見つかりません。
たとえば、私はパス/product
にページを持っていますが、サーバー処理用のエンドポイントもあります。/authenticate
。
// 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'))
})
しかし、この方法はindex.html
にそれを返信する(/authenticate
を含む)すべてのリクエストを発生します:それは次のように使用することを言いますreact-router
チュートリアルで
。どのように私はこれらの2つをマージできますか?