Ho configurato correttamente WebPack: sta compilando correttamente i miei file babel e SCSS e ho ottenuto il corretto funzionamento della funzionalità di controllo. Ma mi piacerebbe anche lavorare con la sostituzione del modulo caldo - e ho difficoltà a farlo funzionare. Quando carico il server di sviluppo nel mio browser mostra Cannot resolve module 'webpack/hot/dev-server'
. Il mio config si presenta così:Impossibile avviare la sostituzione del modulo hot di webpack
import webpack from 'webpack';
import wpServer from 'webpack-dev-server';
var compiler = webpack({
entry: [
'./src/core.js',
'webpack/hot/dev-server'
],
output: {
path: outPath,
filename: '[name].js'
},
resolveLoader: { root: path.join(MODULE_PATH, "node_modules") },
module: {
loaders: [
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' },
{ test: /\.scss$/, loader: "style!css!sass" }
]
},
plugins: [new webpack.HotModuleReplacementPlugin()],
watch: true
});
var server = new wpServer(compiler, {
contentBase: outPath,
hot: true,
quiet: false,
noInfo: false,
lazy: true,
filename: "main.js",
watchDelay: 300,
headers: { "X-Custom-Header": "yes" },
stats: { colors: true },
});
server.listen(8080, "localhost", function() {});
e la mia index.html contiene:
<script src="http://localhost:8080/webpack-dev-server.js"></script>
<script src='main.js'></script>
Qualcuno ha qualche idea?
Non è possibile combinare la modalità lazy di webpack-dev-server con HMR. La modalità lenta ricompila solo quando su richiesta HTTP. HMR fa affidamento su osservatori che ricompilano il cambiamento. Usa 'pigro: falso' invece o semplicemente omettalo. –
Ho pubblicato una piccola spiegazione su come funziona HMR e cosa è necessario per farlo funzionare: http://stackoverflow.com/questions/37016683/what-aspect-of-hot-module-replacement-is-this-article- per/37022884 # 37022884 –