启用单页应用反应热重装webpack

时间:2016-10-20 16:39:01

标签: reactjs webpack react-router webpack-dev-server react-hot-loader

我在使用带有webpackdevserver的react路由器设置单页反应应用程序时遇到了一些问题。如果我使用browserhistory webpack在输入嵌套路由url时会遇到一些问题(例如/ client / view)。这可以通过添加apiFallback来解决,但热重载仍然有问题。它尝试从不存在的深层URL(/client/view/hot-update.json)加载hot-update.json文件,因此失败并重新加载页面。如何告诉hotreload始终从基本URL(/)加载hot-update.json?

2 个答案:

答案 0 :(得分:0)

使用除publicPath以外的''时出现类似问题,我通过向devServer选项添加代理条目解决了这个问题:

devServer: {
  // ... rest of options
  proxy: {
    '/myPublicPath/*': {
      target: 'http://localhost:8080/',
      pathRewrite: { '^/myPublicPath': '' },
  }
}

除此之外,请确保output.publicPathdevServer.publicPath都设置为相等。

希望这有帮助!

答案 1 :(得分:0)

我遇到了类似的问题。开发服务器不断尝试从相对于 url 的目录加载 bundle.js。我的 publicPath'/',不幸的是,另一个答案没有帮助。我解决了这样的问题:

  devServer: {   
    // ... other options 
    historyApiFallback: {
      rewrites: [
        { from: /^.*\/bundle\.js$/, to: '/bundle.js' },
      ]
    }
  }