波神
波神
## Background 目前使用qiankun2.x的版本,业务提出需求在发布新的版本时候,期望可以不刷新页面(主应用暂时不考虑)进行该系统的热重载。类似于pc端的热更新,期望qiankun可以导出unload方法,完全销毁app的生命周期,业务系统再次将其重载。 ## Proposal 1. 翻看源码发现不能热更新的原因是因为`import-html-entry`中缓存了 `embedHTMLCache` 2. `qiankun`在`importEntry`时,如果已经获取过html资源,每次获取的都是内存中的html,以至于script & style也是缓存的 3. 我的解决方案是,在import-html-entry中导出根据app去清除缓存的钩子函数 4. 在qiankun中包裹其方法,根据single-spa的appStatus进行卸载应用 ## Additional context ```javascript // import-html-entry export async function clearCatchByUrl (app) { const htmlCatch...
**描述bug** 系统加载过子系统之后,内存会一直不释放。导致内存越来越多 **如何复现** 给出详细的复现步骤 1、子系统A使用重建模式 2、浏览器打开子系统A 3、在当前页面打开chrome-memory,抓取内存快照 4、在当前页面刷新页面,(手动执行垃圾回收)抓取内存快照。 **错误截图** **最小复现仓库或者地址** 查看快照,发现是wujie的shadow对象一直没有释放。
**描述bug** 使用`iview/table`时,发现改组件在初始化时会报错,原因是使用了element-resize-detector **如何复现** 给出详细的复现步骤 1、进入单例模式的子系统,改子系统中使用iview-table,渲染一些数据即可。 **错误截图**  **最小复现仓库或者地址** 经排查,该库在初始化时,会给要监听的`dom`元素插入一个`object`元素,但是由于`wujie`中拦截了`appendChild`方法.导致该库在添加dom元素之前,提前触发了监听。导致使用了该库 不能正常运行。