webpack-dev-server:如何使用module.hot.data保存状态?

问题描述 投票:0回答:1

我正在使用webpack-dev-server的Hot Module Replacement(HMR)。在代码中,我有这个:

// index.js

// ...

window.enableFoo = false; // can set this to 'true' in DevTools console

if (module && module.hot) {
    module.hot.accept((err) => {
        console.error('HMR accept() error: ' + err);
    });
    module.hot.addStatusHandler(status => {
        if (status === 'apply') {
            console.log('HMR: update applied');
        }
    });
}

我想在HMR更新中保留window.enableFoo。但是,每次应用更新时,window.enableFoo返回到代码中设置的原始值,此处为true

我从HMR's API doc读到,我需要使用module.hot.dispose()module.hot.data,但是我找不到有关如何执行此操作的示例,并且文档没有详细说明。有人可以帮我吗?

([this post是相似的,但是代码与Angular纠缠在一起,而且不易理解...。此外,this thread说:“如果要保持状态,请使用dispose和module.hot.data,不要使用接受”?)

webpack web-applications webpack-dev-server hot-module-replacement
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.