# Webpack Custom Hot Update Strategy Плагин Webpack, позволяющий изменять стратегию получения функцией [Hot Module Replacement](https://webpack.js.org/guides/hot-module-replacement/) обновленных модулей при включенной настройке `hot: true`. ## Подключение плагина `npm install --save-dev webpack-custom-hot-update-strategy` В файле конфигурации [webpack.config.js](./webpack.config.js): ```js const CustomHotUpdateStrategy = require('webpack-custom-hot-update-strategy'); module.exports = { // ... Другие настройки Webpack devServer: { // ... Другие настройки Webpack Dev Server hot: true }, plugins: [ // ... Другие плагины Webpack new CustomHotUpdateStrategy() ] }; ``` ## Настройка плагина Плагин может принимать в качестве аргумента объект с ключами `update` и `manifest`: ```js new CustomHotUpdateStrategy({ manifest: require('./путь_к_реализации'), update: require('./путь_к_реализации') }); ``` Плагин содержит несколько вариантов реализации этих функций: - `manifest`: require _шаблона_ функции, которая загружает манифест обновления модуля `[publicPath][hash].hot-update.json`. - [hotDownloadManifest](./strategies/manifest/hotDownloadManifest.js): ```js require('webpack-custom-hot-update-strategy/strategies/manifest/hotDownloadManifest'); ``` **_Применяется по умолчанию_**, если не задан ключ `manifest`. Эта функция соответствует родной функции `Hot Module Replacement`. - `update`: require _шаблона_ функции, которая принимает `chunkId`, на его основе составляет путь к файлу (`[publicPath][chunkId].[hash].hot-update.js`) с обновленным модулем и добавляет скрипт модуля на страницу. - [hotDownloadUpdateChunk](./strategies/update/hotDownloadUpdateChunk.js): ```js require('webpack-custom-hot-update-strategy/strategies/update/hotDownloadUpdateChunk'); ``` **_Применяется по умолчанию_**, если не задан ключ `update`. Эта функция соответствует родной функции `Hot Module Replacement`: составляет путь до обновившегося модуля, создает новый тег `