title: "webpack" vs "webpack --watch" creates different output
body: <p>Im using this set up as the base of my project: <a href="https://www.typescriptlang.org/docs/handbook/react-&amp;-webpack.html" rel="nofollow noreferrer">https://www.typescriptlang.org/docs/handbook/react-&amp;-webpack.html</a></p>
  
  <p>When I run <code>webpack</code>, it compiles a bundle that works in the browser.</p>
  
  <p>When I run <code>webpack --watch</code>, it re-compiles on file change, but causes this error in the browser:</p>
  
  <p><code>Uncaught ReferenceError: exports is not defined</code></p>
  
  <p>I looked at the output of both, and it looks like <code>webpack --watch</code> <strong>does not include the webpack bootstrap code or my modules - only the entry file transpiled</strong>.</p>
  
  <p><code>webpack</code></p>
  
  <ul>
  <li>Includes all of my modules in a single file, along with using webpacks own module require.</li>
  <li>E.g: <code>var io = __webpack_require__(20);</code></li>
  </ul>
  
  <p><code>webpack --watch</code></p>
  
  <ul>
  <li>Only includes my entry module - <em>no other modules, no <code>__webpack_require__</code></em>.</li>
  <li>E.g. <code>var io = require("socket.io-client");</code></li>
  </ul>
  
  <p>Versions:
   - webpack: 3.7.1
   - tsc: 1.8.10</p>
  
  <pre><code>module.exports = {
  entry: "./src/index.tsx",
  output: {
      filename: "bundle.js",
      path: __dirname + "/dist"
  },
  
  // Enable sourcemaps for debugging webpack's output.
  devtool: "source-map",
  
  resolve: {
      // Add '.ts' and '.tsx' as resolvable extensions.
      extensions: [".ts", ".tsx", ".js", ".json"]
  },
  
  module: {
      rules: [
          // All files with a '.ts' or '.tsx' extension will be handled by 'awesome-typescript-loader'.
          { test: /\.tsx?$/, loader: "awesome-typescript-loader" },
  
          // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.
          { enforce: "pre", test: /\.js$/, loader: "source-map-loader" }
      ]
  },
  
  // When importing a module whose path matches one of the following, just
  // assume a corresponding global variable exists and use that instead.
  // This is important because it allows us to avoid bundling all of our
  // dependencies, which allows browsers to cache those libraries between builds.
  externals: {
      "react": "React",
      "react-dom": "ReactDOM"
  }
  </code></pre>