Webpack hmr:__webpack_hmr 404 未找到

2024-02-21

我正在使用 webpack-dev-server 进行热模块替换。它工作得很好,但是这个错误每隔几秒钟就会出现在控制台中:GET http://mysite:8080/__webpack_hmr 404 (Not Found).

这是我的 webpack.config.js:

var webpack = require('webpack'),
  hostname = 'mysite',
  port = 8080;

module.exports = {
  entry: [
    'babel-polyfill',
    './src/js/main.js',
    './dev/requireCss.js',
    'webpack/hot/dev-server',
    // I'm assuming the fault lies in the following line, but I can't figure out what's wrong
    'webpack-hot-middleware/client?path=http://' +
      hostname +
      ':' +
      port +
      '/__webpack_hmr',
  ],
  output: {
    path: __dirname + '/webpack',
    filename: 'bundle.js',
    publicPath: 'http://' + hostname + ':' + port + '/',
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /(node_modules|bower_components)/,
        loaders: ['react-hot', 'babel-loader?presets[]=react&presets[]=es2015'],
      }, // removed some loaders for brevity
    ],
  },
  resolve: {
    extensions: ['', '.json', '.js', '.jsx'],
  },
  plugins: [new webpack.HotModuleReplacementPlugin()],
  devtool: 'source-map',
  devServer: {
    contentBase: __dirname + '/dev',
    hot: true,
    proxy: [
      {
        path: /\/(?!__webpack_hmr).+/, // I get the same error if I change this to 'path: /\/.+/'
        target: 'http://my-backend.localhost',
      },
    ],
  },
};

这个想法是开发服务器应该转发除以下请求之外的所有请求/ and __webpack_hmr到我的后端(my-backend.localhost)。这对所有事情都适用,除了__webpack_hmr.

我可以在我的conf中更改一些内容以使错误消失吗?


条目数组中的这一行不能很好地配合webpack-dev-server:

webpack-hot-middleware/client

因为这是一个要求webpack-hot-middleware用于与除webpack-dev-server(例如express或一些这样的)。

我通过遵循 Webpack 教程遇到了这个混合服务器问题。他们应该更新它,以便使用 webpack-dev-server 的 Webpack 配置文件的入口点不需要 webpack-hot-middleware 生成的工件,该工件试图将开发人员的模块更新热发射到自定义构建中服务器取决于它。

您可以从条目数组中删除该行,在使用开发服务器的情况下应该可以解决问题。

仅供参考,您的代码中的那一行来自这里:https://github.com/webpack-contrib/webpack-hot-middleware https://github.com/webpack-contrib/webpack-hot-middleware它说:

Add webpack-hot-middleware/client?...进入 [webpack 配置的] 条目数组。这样就连接到服务器来接收 捆绑包重建然后更新客户端时的通知 相应地捆绑。

根据您的问题“我正在使用 webpack-dev-server”,因此您没有使用“webpack-hot-middleware”并且应该删除输入行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Webpack hmr:__webpack_hmr 404 未找到 的相关文章

随机推荐