2
我正在使用Node和Webpack-Dev-Server和React-Router。HashHistory与BrowserHistory
在我app.js
文件我有:
<Router history={browserHistory}>
<Route path="/" component={Layout}>
<IndexRoute component={FindFriends} />
<Route path="/you" component={YouAndYourFriends} />
</Route>
</Router>
使用browserHistory
浏览器返回一个错误:Cannot GET /you
当我改变browserHistory
到hashHistory
,一切工作正常。
我的错误在哪里?或者你应该怎么做browserHistory
?
我认为问题在于节点服务器需要帮助来支持pushState。 Webpack将所有内容放入一个包中,而节点不会识别应该使用相同文件提供的子页面。 如果仔细检查输出,您应该会看到一条消息,告诉您安装pushstate: https://www.npmjs.com/package/pushstate-server –
请参阅http://stackoverflow.com/questions/36289683/what哈希历史和浏览器历史中的反应路由器之间的差异 – Maninacan
https://www.youtube.com/watch?v=eofpZPRUnP8&list=PL55RiY5tL51oyA8euSROLjMFZbXaV7skS&index=16 – Timo