2016-12-27 101 views
10

ホットモジュール交換のためにwebpack-dev-serverを使用しています。うまくいきましたが、このエラーは2秒ごとにコンソールに表示され続けます:GET http://mysite:8080/__webpack_hmr 404 (Not Found)。ここでWebpack hmr:__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' 
     }] 
    } 


}; 

アイデアはDEV-サーバーが私のバックエンド(my-backend.localhost)に/__webpack_hmrから以外のすべての要求を転送すべきであるということです。これは__webpack_hmr以外のすべてに対してうまくいきます。

エラーが消えるようにconfで変更できるものはありますか?

答えて

7

のエントリ'webpack-hot-middleware/client?path=http://'+hostname+':'+port+'/__webpack_hmr'の下にある次の行を削除することによって解決されました。なぜそれが働いたのかわかりません。

+2

正直なところ私の設定ファイルに似たような行があるのは分かりませんが、それも私のために働いていました。私は設定中に他のプロジェクトを見るときに見たことがあったはずです。行を削除し、エラーを失い、パフォーマンスの問題はありません。良いショット、Hansn。 – DGaffneyDC

+2

誰もしません... –

+0

私はそれがホットリロードと関係があり、dev環境でのみ使用すべきだと思います。 –

関連する問題