Я несколько раз пытался настроить webpack. Каждый раз, когда я запускаю процесс, автоматическая перезагрузка работает нормально, пока я не включу --hot для web-dev-сервера, тогда любые изменения в html не повлияют, никаких ошибок, ничего, просто журнал в терминале, который был изменение и журнал в консоли браузера, что обновлять нечего. Горячая перезагрузка отлично работает для CSS и JS, и я понимаю, что HTML не поддерживает HMR, но, по крайней мере, ожидается, что автоматическое обновление будет продолжать работать...
Моя конфигурация ниже:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
const webpack = require('webpack');
module.exports = {
entry: './src/js/index.js',
output: {
filename: 'app.js',
path: path.resolve(__dirname, 'dist'),
},
plugins: [
new HtmlWebpackPlugin({
title: 'Hello world',
template: 'src/views/index.html',
alwaysWriteToDisk: true
}),
new HtmlWebpackHarddiskPlugin(),
new webpack.NamedModulesPlugin(),
new webpack.HotModuleReplacementPlugin()
],
devtool: 'inline-source-map',
devServer: {
contentBase: path.join(__dirname, 'dist'),
compress: true,
hot: true,
inline: true,
open: true,
},
module: {
rules: [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader',
]
},
{
test: /\.(png|svg|jpg|gif)$/,
use: [
'file-loader',
]
}
]
}
};
Мои скрипты в package.json
"scripts": {
"dev": "webpack-dev-server --config webpack.config.js",
"prod": "cross-env NODE_ENV=production webpack -p --config webpack.config.js"
},