Webpack 5:重新加载/卸载联邦模块



为了动态加载fm,我使用了类似于以下的逻辑:

https://github.com/module-federation/module-federation-examples/blob/master/dynamic-system-host/app1/src/App.js L16

然而,假设FM的远程版本发生了变化,我想要整个重新加载它,或者从我的应用程序上下文中完全删除它——这可能吗?

我也在调查这个问题。但是,请查看module-federation-examples/dynamic-system-host中的示例。这个例子是什么?

  • app1作为主机应用程序,有两个按钮
  • app2带有一个导出./Widgets的模块
  • app3与另一个模块导出./Widgets,也
  • 在app1中点击第一个按钮加载模块"/Widgets"从app2
  • 在app1中点击第二个按钮加载模块"/Widgets"从app3

您可以无休止地在实现之间切换。这证明了你可以动态地覆盖一个模块。

如何重新加载相同的模块现在?

将上面的app1与模块URL:?version=:TIMESTAMP:上的缓存buster结合起来。这应该在理论上重新加载相同的模块,因为URL是不同的。

最新更新