То, что я хотел бы сделать, похоже на их пример , но указание файла, похоже, ничего не обновляет. Он запускает обратный вызов, но графическая функция не была обновлена, и файл, кажется, не был запущен.
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);
}