Enable single page app react hot reload webpack
Asked Answered
H

2

6

I have some problems setting up a single page react app using react router with the webpackdevserver. If I use browserhistory webpack has some problems when entering a nested route url (/client/view for example). This could be solved adding apiFallback but hot reload does still have a problem. It tries to load the hot-update.json file from the deep url (/client/view/hot-update.json) which does not exist and therefor fails and reloads the page. How can i tell hotreload to always load the hot-update.json from the base url (/)?

Hutment answered 20/10, 2016 at 16:39 Comment(0)
P
1

I had a similar issue when using a publicPath other than '', which I solved by adding a proxy entry to the devServer options:

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

Other than that, make sure both output.publicPath and devServer.publicPath is set and equal.

Hope this helps!

Percival answered 14/7, 2017 at 10:7 Comment(0)
B
1

I had a similar issue. The dev server kept trying to load bundle.js from the directory relative to the url. My publicPath is '/', and, unfortunately, the other answer did not help. I solved the issue like this:

  devServer: {   
    // ... other options 
    historyApiFallback: {
      rewrites: [
        { from: /^.*\/bundle\.js$/, to: '/bundle.js' },
      ]
    }
  }
Bore answered 11/4, 2021 at 0:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.