Webpack: файлы, добавленные пользовательским плагином сборки, не запускают перезагрузку в реальном времени - PullRequest
0 голосов
/ 26 октября 2018

У меня есть пользовательский плагин сборки, который запускает инструмент командной строки 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;
        }
      };
    }

Вопрос: есть ли лучший способ?Спасибо.

...