问题
2024年08月02日
一、通信问题
二、Model 挂载问题
问题描述: 如果基座应用向子应用传递事件回调, 子应用调用回调后, 基座应用打开弹窗。此时, Model
会挂载到子应用中。
解决方案:
-
通过消息通知,
window.microApp.dispatch({type: '子应用发送给主应用的数据'})
-
解除元素绑定,
removeDomScope(true)
, 通常用于受子应用元素绑定影响,导致主应用元素错误绑定到子应用的情况
三、多个子应用频繁切换, 隔离失效问题
多个子应用频繁切换, Window
代理出现混乱的情况, Window
为上一个子应用的 Window
。解决方案: 在 micro.start
注册函数中, 配置 plugins.global.scopeProperties
。 配置如下:
start({
plugins: {
scopeProperties: ["webpackChunkumu_ems"], // 找出每个子应用主产物中的全局变量, 例如 Webpack 为 webpackChunkxxx, 这个全局变量记录了 SplitChunk 和 LazyImport 信息。所以, 需要将所有子应用主产物中的全局变量进行隔离。
}
});