2016-12-13 6 views
2

Webpack-Dev-ServerとReact-RouterでNodeを使用しています。私が持っている私のapp.jsファイルでHashHistory対BrowserHistory

browserHistoryブラウザを使用して

<Router history={browserHistory}> 
    <Route path="/" component={Layout}> 
    <IndexRoute component={FindFriends} /> 
    <Route path="/you" component={YouAndYourFriends} /> 
    </Route> 
</Router> 

はエラーを返します:Cannot GET /you

私はhashHistorybrowserHistoryを変更すると、すべてが正常に動作します。

私の間違いはどこですか?またはbrowserHistoryを使用して何をすべきですか?

+0

私は問題は、ノードサーバーがpushStateをサポートするのに役立つ必要があると考えています。 Webpackはすべてを1つのバンドルに入れ、ノードはサブページが同じファイルで提供されることを認識しません。 出力を精査すると、pushstateをインストールするように指示するメッセージが表示されます。 https://www.npmjs.com/package/pushstate-server –

+0

http://stackoverflow.com/questions/36289683/whatを参照してください。 - ハッシュヒストリーとブラウザの履歴の間の反応ルータで – Maninacan

+0

https://www.youtube.com/watch?v=eofpZPRUnP8&list=PL55RiY5tL51oyA8euSROLjMFZbXaV7skS&index=16 – Timo

答えて

3

この問題がありました。 は私のwebpack.config.js

devServer: { 
    historyApiFallback: true, 
    contentBase: path.join(__dirname, "dist"), // Not Related but important 
} 

に以下を追加することによって、それを解決します。また、コマンドラインを介して、このオプションを切り替えることができます。私の場合は https://webpack.github.io/docs/webpack-dev-server.html#the-historyapifallback-option

を、私は、configファイルにそれを置くことによってそれ働いてしまいました。

幸運を祈る!

関連する問題