Javascript 用于KnockoutJS的Webpack热模块更换

Javascript 用于KnockoutJS的Webpack热模块更换,javascript,knockout.js,webpack,webpack-hmr,hot-module-replacement,Javascript,Knockout.js,Webpack,Webpack Hmr,Hot Module Replacement,我正在尝试让HMR为我的淘汰应用程序工作,目前正在努力让HMR在我更改viewModel本身内部的内容时重新加载,但范围之外的任何内容都可以工作 例如: //hmr.js require('mymodule'); if(module.hot) module.hot.accept(); //mymodule.js 函数myViewModel(参数){ console.log('这将只记录一次');//保存后,此项不会更改 } log('我可以在不重新加载的情况下将其记录多次'); mo

我正在尝试让HMR为我的淘汰应用程序工作,目前正在努力让HMR在我更改
viewModel
本身内部的内容时重新加载,但范围之外的任何内容都可以工作

例如:

//hmr.js

require('mymodule');

if(module.hot)
  module.hot.accept();

//mymodule.js
函数myViewModel(参数){
console.log('这将只记录一次');//保存后,此项不会更改
}
log('我可以在不重新加载的情况下将其记录多次');
module.exports={
viewModel:myViewModel,
模板:“这里只是一些东西”
};
我想知道我是否需要做些其他事情来告诉HMR重新触发
视图模型中的内容
?目前在我的
main.js
文件中,我有
ko.applyBindings(新的AppViewModel())
只被触发一次,我的
main.js
文件中也有
ko.components.register()
,这在我的
mymodule
文件中是必需的

// mymodule.js
function myViewModel(params) {
  console.log('this will only be logged once'); // This one doesn't change after saving
}

console.log('I can get this to be logged multiple times without reload');

module.exports = {
  viewModel: myViewModel,
  template: '<div>just some stuff here</div>'
};