У меня есть пользовательский плагин сборки, который запускает инструмент командной строки TexturePacker
для создания таблиц спрайтов.Кроме того, ExtraWatchWebpackPlugin
используется для запуска перестройки при изменении активов.
Во время просмотра, если я изменяю графические активы, перестройка запускается правильно.Но живой перезагрузки не происходит:
[WDS] App updated. Recompiling...
[WDS] Nothing changed.
Это из-за того, что модифицированные спрайт-листы не попадают в конвейер веб-пакетов.В Webpack есть следующая проверка, чтобы пропустить перезагрузку:
if (
!force &&
stats &&
(!stats.errors || stats.errors.length === 0) &&
stats.assets &&
stats.assets.every(asset => !asset.emitted)
) {
return this.sockWrite(sockets, 'still-ok');
}
Мне удалось взломать его так:
if (isDevServer || isWatching) {
// Fake the web-server to reload the build
compilation.assets['force-reload.dat'] = {
source: function() {
return '';
},
size: function() {
return 0;
}
};
}
Вопрос: есть ли лучший способ?Спасибо.