Я экспериментирую с Webpack уже около двух лет и переключил всю мою новую разработку с Gulp на Webpack. С тех пор я не решался добавлять код в мои исходные файлы специально для логики HMR, но позже обнаружил, что нижеприведенное работает для всех моих исходных файлов, имея всего три строки в конце моей исходной точки входа:
if (module.hot) {
module.hot.accept();
}
Вышеупомянутые три строки работали отлично (по крайней мере, для тех случаев использования, с которыми я сталкивался), когда вам не нужно указывать отдельные файлы в вызове accept
. Весь мой JavaScript (насколько я знаю) и CSS заменяются в браузере практически мгновенно без перезагрузки, что гораздо лучше, чем соглашение о том, чтобы в браузере происходило перезагрузка в реальном времени и потеря всего состояния приложения при каждом сохранении файла.
Вопрос в том, для чего предназначены такие библиотеки, как response-hot-loader , vue-hot-loader и angular-hot-loader , когда (насколько я думаю) HMR, кажется, работает, просто следуя инструкции на https://webpack.js.org/guides/hot-module-replacement на официальном сайте?