2017-01-14 26 views
1

Webpackを使用して、クライアントサイドとサーバーサイドの両方のコードを再ロードしようとしています。私が現時点で持っている設定は、webpack-dev-serverコマンドを実行するとファイルを自動的に再構築します。しかし、何も私はそれを手動で更新しても、ブラウザでの更新、画面上の同じ内容Webpackバックエンドとフロントエンドのホットリロード

var webpack = require('webpack'); 
var path = require('path'); 
var fs = require('fs'); 

var nodeModules = {}; 
fs.readdirSync('node_modules') 
    .filter(function(x) { 
     return ['.bin'].indexOf(x) === -1; 
    }) 
    .forEach(function(mod) { 
     nodeModules[mod] = 'commonjs ' + mod; 
    }); 

module.exports = { 
    entry: [ './server/server.js', './client/app.js'], 
    target: 'node', 
    output: { 
     path: path.join(__dirname, 'build'), 
     filename: '[name].js' 
    }, 
    module: { 
     loaders: [{ 
      exclude: /node_modules/, 
      loader: 'babel' 
     }] 
    }, 
    resolve: { 
     extensions: ['', '.js', '.jsx'] 
    }, 
    externals: nodeModules, 
    devServer: { 
     historyApiFallback: true, 
     contentBase: './' 
    } 
}; 
+0

実際に再コンパイルされた結果バンドルをチェックします(ソースで一意の文字列を書きます)。使用できるキャッシングをすべて確認してください。 – oklas

+0

ご返信ありがとうございます。私はチェックして、再コンパイルします。私は現時点でキャッシュを使用していません – Mantis

+0

この**インラインキー**を 'devServer:{inline:true}'に追加するか、次のようにdevServerを起動します: 'webpack-dev-server --inline'。 – sahil

答えて

1

あなたと対話する必要がありHMRのために、ご使用の環境に埋め込まれたランタイムAPIがあります。最低でも、あなたはどこかにあなたのエントリポイントスクリプトに次を追加する必要があります。

if (module.hot) { 
    module.hot.accept() 
} 

は、より良いアイデアを得るために、新しいドキュメントに記載されているcode sampleを見てください。

関連する問題