title: Can I use hot module replacement with webpack but not use react?
body: <p>I tried using hot module replacement but never succeed.
  Then I found this <a href="https://github.com/gaearon/react-hot-boilerplate" rel="nofollow">repository</a>, it can use hot module replacement well. And it uses a react-hot loader, if I remove this loader, I'll get the error:</p>
  
  <pre><code>[HMR] Cannot find update. Need to do a full reload! 
  </code></pre>
  
  <p>I adjust my project according to the above repository, but I'm not using react, so I don't use react-hot loader, thus I always get the above error. </p>
  
  <p>Can I use hot module replacement with webpack but not use react? Or I just need a xx-hot loader to make it hot module replaceable?</p>
  
  <p>My structure:</p>
  
  <pre><code>src
      entry.js
  index.html
  server.js
  webpack.config.js
  </code></pre>
  
  <p>index.html：</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html lang="en"&gt;
      &lt;head&gt;
          &lt;meta charset="UTF-8"&gt;
          &lt;title&gt;Document&lt;/title&gt;
      &lt;/head&gt;
      &lt;body&gt;
          &lt;script src="/static/bundle.js"&gt;&lt;/script&gt;
      &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>entry.js：</p>
  
  <pre><code>document.write('hello');
  </code></pre>
  
  <p>server.js： </p>
  
  <pre><code>var webpack = require('webpack');
  var WebpackDevServer = require('webpack-dev-server');
  var config = require('./webpack.config');
  
  new WebpackDevServer(webpack(config), {
    publicPath: config.output.publicPath,
    hot: true,
    historyApiFallback: true
  }).listen(3000, 'localhost', function (err, result) {
    if (err) {
      console.log(err);
    }
  
    console.log('Listening at localhost:3000');
  });
  </code></pre>
  
  <p>webpack.config.js：</p>
  
  <pre><code>var path = require("path");
  var webpack = require('webpack');
  
  module.exports = {
      devtool: 'eval',
      entry: [
          'webpack-dev-server/client?http://localhost:3000',
          'webpack/hot/only-dev-server',
          "./src/entry.js"
      ],
      output: {
          path: path.join(__dirname, "build"),
          publicPath: '/static/',
          filename: "bundle.js"
      },
      plugins: [
        new webpack.HotModuleReplacementPlugin()
      ]
  };
  </code></pre>