How to tell webpack dev server to serve index.html for any route

React router allows react apps to handle /arbitrary/route. In order this to work, I need my server to send the React app on any matched route.

But webpack dev server doesn't handle arbitrary end points.

There is a solution here using additional express server. How to allow for webpack-dev-server to allow entry points from react-router

But I don't want to fire up another express server to allow route matching. I just want to tell webpack dev server to match any url and send me my react app. please.


I found the easiest solution to include a small config:

  devServer: {
    port: 3000,
    historyApiFallback: {
      index: 'index.html'
    }
  }

I found this by visiting: PUSHSTATE WITH WEBPACK-DEV-SERVER.


historyApiFallback option on official documentation for webpack-dev-server explains clearly how you can achieve either by using

historyApiFallback: true

which simply falls back to index.html when the route is not found

or

// output.publicPath: '/foo-app/'
historyApiFallback: {
  index: '/foo-app/'
}