js/css 污染是無法避免的,并且是一個可大可小的問題,就像一顆定時炸彈,不知道什么時候會出問題,排查也麻煩,作為一個基礎框架,解決這兩個污染非常重要,不能僅憑“規范”開發,
js 沙箱的原理是子專案加載之前,對 window 物件做一個快照,子專案卸載時恢復這個快照,如圖:

那么如何監測 window 物件的變化呢,直接將 window 物件進行一下深拷貝,然后深度對比各個屬性顯然可行性不高,qiankun框架采用的是ES6新特性,proxy代理方法,具體如何操作的,之前的文章有寫(鏈接在文末),就不再贅述,
但是 proxy 是不兼容 IE11 的,為了兼容,低版本 IE 采用了 diff 方法:淺拷貝 window 物件,然后對比每一個屬性,
作者:沉末_
鏈接:https://juejin.cn/post/6844904185910018062
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266752.html
標籤:其他
下一篇:QoS和網路性能基礎
