2017-01-14 62 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得到一個更好的主意。