Я успешно установил WebPack - он очень хорошо компилирует мои файлы babel и SCSS, и я получил функциональность часов, чтобы нормально работать. Но я также хотел бы работать с Hot Mod Replacement - и у меня возникают трудности с этим. Когда я загружаю сервер dev в моем браузере, он показывает Cannot resolve module 'webpack/hot/dev-server'
. Моя конфигурация выглядит следующим образом:Невозможно получить замену модуля hotpackpack для работы
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() {});
и мой index.html содержит:
<script src="http://localhost:8080/webpack-dev-server.js"></script>
<script src='main.js'></script>
Кто-нибудь есть какие-нибудь идеи?
Вы не можете объединить ленивый режим webpack-dev-сервера с HMR. Ленточный режим перекомпилируется только при запросе HTTP. HMR полагается на наблюдателей, которые перекомпилируют изменения. Вместо этого используйте 'lazy: false' или просто опустите его. –
Я опубликовал небольшое объяснение о том, как работает HMR и что требуется для его работы: http://stackoverflow.com/questions/37016683/what-aspect-of-hot-module-replacement-is-this-article- for/37022884 # 37022884 –