title: Webpack development is recompiling after change, but change not picked up on development site
body: <p>I am currently getting to grips with webpack to try and help build my site. I have my webpack config files set up for both development and production and both seem to be working. </p>
  
  <p>I wanted to have the development config setup to use hot module replacement so that it recompiles every time I make a change. This seems to be working and if I refresh the main.bundle.js in browser (<code>https://localhost:8081/main.bundle.js</code>) I can see the new changes, however when I refresh my website which loads the main.bundle.js file, it does not refresh with the changes. </p>
  
  <p>I assume there must be something caching? Or something else I need to do so that the changes to main.bundle.js show on my website?</p>
  
  <p>I am using the following command to run <code>NODE_ENV=development webpack &amp;&amp; NODE_ENV=development webpack-dev-server --progress --colors</code> and my webpack config for development is below...</p>
  
  <pre class="lang-js prettyprint-override"><code>const fs = require('fs');
  const path = require('path');
  const webpack = require('webpack');
  const ExtractTextPlugin = require('extract-text-webpack-plugin');
  const CopyWebpackPlugin = require('copy-webpack-plugin');
  const ImageminPlugin = require('imagemin-webpack-plugin').default;
  
  module.exports = {
    entry: [
      path.resolve(__dirname, 'src/client.js'),
      path.resolve(__dirname, 'src/assets/styles/main/main.less')
    ],
    mode: 'development',
    output: {
      path: path.resolve(__dirname, 'dist/public/'),
      filename: '[name].bundle.js',
      publicPath: 'https://localhost:8081/'
    },
    devtool: 'source-map',
    module: {
      rules: [
        {
          test: /\.js$/,
          exclude: /node_modules/,
          use: [
            {
              loader: 'babel-loader',
              options: {
                babelrc: false,
                plugins: [
                  [
                    '@babel/plugin-proposal-object-rest-spread',
                    {
                      useBuiltIns: true
                    }
                  ],
                  '@babel/plugin-syntax-dynamic-import',
                  '@babel/plugin-proposal-class-properties',
                  '@babel/plugin-transform-runtime'
                ],
                presets: [
                  [
                    '@babel/preset-env',
                    {
                      useBuiltIns: "usage"
                    }
                  ],
                  '@babel/preset-react'
                ]
              }
            }
          ]
        },
        {
          test: /\.less$/,
          use: ExtractTextPlugin.extract({
            use: [
              {
                loader: 'css-loader'
              },
              {
                loader: 'less-loader'
              }
            ]
          })
        },
        {
          test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
          use: [{
            loader: 'file-loader',
            options: {
              name: '[name].[ext]',
              outputPath: 'fonts/'
            }
          }]
        }
      ]
    },
    cache: false,
    optimization: {
      splitChunks: {
        cacheGroups: {
          vendors: {
            test: /[\\/]node_modules[\\/]/,
            name: 'vendor',
            chunks: 'all'
          }
        }
      }
    },
    plugins: [
      new ExtractTextPlugin({ filename: '[name].css' }),
      new webpack.HotModuleReplacementPlugin(),
      new CopyWebpackPlugin([{ from: 'src/assets/images', to: 'images'}]),
      new ImageminPlugin({ test: /\.(jpe?g|png|gif|svg)$/i })
    ],
    devServer: {
      contentBase: '/dist/public/',
      publicPath: 'https://localhost:8081/',
      port: 8081,
      hot: true,
      disableHostCheck: true,
      headers: { 'Access-Control-Allow-Origin': '*' },
      https: {
        key: fs.readFileSync(
          path.resolve(__dirname, 'server.key'),
          'utf8'
        ),
        cert: fs.readFileSync(
          path.resolve(__dirname, 'server.cert'),
          'utf8'
        )
      }
    }
  };
  
  </code></pre>