我在使用带有webpackdevserver的react路由器设置单页反应应用程序时遇到了一些问题。如果我使用browserhistory webpack在输入嵌套路由url时会遇到一些问题(例如/ client / view)。这可以通过添加apiFallback来解决,但热重载仍然有问题。它尝试从不存在的深层URL(/client/view/hot-update.json)加载hot-update.json文件,因此失败并重新加载页面。如何告诉hotreload始终从基本URL(/)加载hot-update.json?
答案 0 :(得分:0)
使用除publicPath
以外的''
时出现类似问题,我通过向devServer
选项添加代理条目解决了这个问题:
devServer: {
// ... rest of options
proxy: {
'/myPublicPath/*': {
target: 'http://localhost:8080/',
pathRewrite: { '^/myPublicPath': '' },
}
}
除此之外,请确保output.publicPath
和devServer.publicPath
都设置为相等。
希望这有帮助!
答案 1 :(得分:0)
我遇到了类似的问题。开发服务器不断尝试从相对于 url 的目录加载 bundle.js
。我的 publicPath
是 '/'
,不幸的是,另一个答案没有帮助。我解决了这样的问题:
devServer: {
// ... other options
historyApiFallback: {
rewrites: [
{ from: /^.*\/bundle\.js$/, to: '/bundle.js' },
]
}
}