hot.module.accept ('./ graphics. js') не обновляет импортированный графический модуль - PullRequest
0 голосов
/ 04 апреля 2020

То, что я хотел бы сделать, похоже на их пример , но указание файла, похоже, ничего не обновляет. Он запускает обратный вызов, но графическая функция не была обновлена, и файл, кажется, не был запущен.

module.hot.accept('./graphics.js', () => {
  reloadRAF(graphics); // still old graphics
});

Я попробовал более простой пример и просто export const a = 5, с:

module.hot.accept('./graphics.js', () => {
  console.log('a: ', a);
  reloadRAF(graphics); // still old graphics
});

Я изменил a на 6 и получил журнал консоли о том, как обновлялась графика. js, затем журнал консоли, в котором указано «a: 5», ТАК экспорт не был обновлен.


К счастью, у меня все получилось, используя hot.module.accept() [без аргументов], но это довольно грязный код [much-global.doge.jpg], и он на самом деле не задокументирован в документации команды webpack (accept без аргументов):

if (module.hot) {
  module.hot.accept();
  if (window.raf) loadRaf();
  if (window.store) window.store.replaceReducer(reducer);
}
...