我使用react slingshot启动项目为我的react / redux应用程序 . 当我使用像 /foo
这样的路线但我在've found that hot reload isn'上工作的子路由时,热重新加载效果很好 . 我没有对开箱即用的webpack配置文件做任何更改,可以在这里找到https://github.com/coryhouse/react-slingshot/blob/master/webpack.config.js
当我有以下路由配置时,我在CreateOrder组件上得到 404 GET http://localhost:3004/orders/c344e97ed1fbc2923017.hot-update.json 404 (Not Found)
:
<Route path="/" component={App}>
<Route path="login" component={Login} />
<Route path="orders" component={OrderPanel} />
<Route path="orders/create" component={CreateOrder} />
<Route path="*" component={NotFoundPage} />
</Route>
但是当我将订单/创建的路径更改为刚创建时,它不会返回404 .
好像热更新中间件试图从/ orders子路由中获取hot-update.json?
2 回答
只是为了完整性和任何人有旧版弹弓这个问题 . 在issue 75中也提到了这一点,并通过替换以下来修复here:
同
在
webpack.config.js
更新:从reduckted的评论中,publicPath必须以斜线开头和结尾 . 更换:
同
publicPath配置对我来说不是问题 . 如果你使用redux可以尝试这个 .
由于某些随机原因
redux-devtools
不允许热重载 . 尝试从根组件和redux compose
config中删除它 .注意:在商店配置中使用带有此配置的redux devtool浏览器扩展:
window.devToolsExtension ? window.devToolsExtension() : f => f
另外,必须阅读:https://medium.com/@rajaraodv/webpacks-hmr-react-hot-loader-the-missing-manual-232336dc0d96#.ejpsmve8f
或尝试热重载3:示例:https://github.com/gaearon/redux-devtools/commit/64f58b7010a1b2a71ad16716eb37ac1031f93915