Javascript 带Vue&;的HMR挂钩;网页包

Javascript 带Vue&;的HMR挂钩;网页包,javascript,vue.js,webpack,webpack-hmr,hot-module-replacement,Javascript,Vue.js,Webpack,Webpack Hmr,Hot Module Replacement,当某些Vue组件更新为热模块更换时,是否有设置挂钩的选项 [HMR] App is up to date. 现在我想调用一些方法。通过网页HMR搜索,我发现了两种方法:和 处置 添加一个处理程序,该处理程序在当前模块代码为 替换。这应该用于删除您需要的任何持久性资源 声称或创造。如果要将状态转移到已更新的 模块,将其添加到给定的数据参数。此对象将被删除 更新后可在module.hot.data上找到 removeDisposeHandler 删除通过dispose或addDisposeHand

当某些Vue组件更新为热模块更换时,是否有设置挂钩的选项

[HMR] App is up to date.

现在我想调用一些方法。

通过网页HMR搜索,我发现了两种方法:和

处置 添加一个处理程序,该处理程序在当前模块代码为 替换。这应该用于删除您需要的任何持久性资源 声称或创造。如果要将状态转移到已更新的 模块,将其添加到给定的
数据参数
。此对象将被删除 更新后可在
module.hot.data上找到

removeDisposeHandler 删除通过dispose或
addDisposeHandler添加的处理程序

因此,我在
创建的
钩子中添加了
dispose
,并在
销毁的
钩子中删除了它,如下所示:

导出默认值{
方法:{
回调(数据){
console.log(数据)
},
},
创建(){
如果(模块热){
module.hot.dispose(this.callback)
} 
},
销毁(){
如果(模块热){
module.hot.removeDisposeHandler(this.callback)
}
},
}

我已经在我的Vue CLI应用程序中对其进行了测试,一切都运行得很好:它在该模块发生更改时调用,但在另一个模块发生更改时不会调用。

@Javas,感谢您的提示。我正在寻找的解决方案是:

module.hot.addStatusHandler(status => {
    console.log('module hot status', status)
});
我把它放在我的输入文件中,如果有任何组件被热加载,每次都会调用它