2

我遇到了 webpack-dev-server 和 react-hot loader 的问题。当更改无法热加载时(例如在编辑非反应组件时),有时需要重新加载整个页面。由于开发服务器将所有新更改保留在内存中并且不会将它们写入磁盘,因此完全重新加载会加载最新的完整构建。每次发生这种情况时,我都必须终止开发服务器,进行完整构建,然后重新加载页面。

我想知道我是否配置错误 - 即使在完全重新加载之后,开发服务器是否应该从内存中提供最新的捆绑包?如果没有,是否有人对此问题有创造性的解决方法?

这是我的 webpack 包和服务器配置:

var webpack = {
  bundle: {
    resolve: {
      alias: vendor.scripts.src.paths
    },
    entry: {
      app: [
        'webpack-dev-server/client?http://localhost:3001',
        'webpack/hot/only-dev-server',
        app.scripts.src
      ],
      vendor: vendor.scripts.src.names
    },
    output: {
      path: buildDirs.js,
      filename: app.scripts.bundle
    },
    plugins: [
      new webpack.optimize.CommonsChunkPlugin('vendor', vendor.scripts.bundle),
      new webpack.optimize.DedupePlugin(),
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery',
        'window.jQuery': 'jquery',
        react: 'React'
      }),
      new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en-gb/),
      new webpack.HotModuleReplacementPlugin()
    ],
    module: {
      loaders: [
        {
          test: /\.js$/,
          exclude: /node_modules/,
          include: srcRoot,
          loaders: ['react-hot', 'babel?stage=0']
        }
      ]
    },
    watch: true,
    devtool: 'cheap-module-source-map',
    progress: true
  },
  server: {
    contentBase: buildRoot,
    hot: true,
    historyApiFallback: true
  }
};
4

0 回答 0