微前端的 JS 沙箱(Sandbox)是怎么实现的?快照沙箱 vs Proxy 沙箱?

JS 沙箱让多个子应用互不污染全局变量(window)。

// 伪代码
const snapshot = {}
function mount() { for (k in window) snapshot[k] = window[k] /* 保存 */; applyAppGlobals() }
function unmount() { for (k in window) delete window[k]; restore(snapshot) }

qiankun 现代版本默认用 Proxy 沙箱(兼容降级到快照);iframe 方案则天然靠浏览器的同源隔离。

同分类其他题目