FAQ

支持 CSS 隔离吗?

暂不支持,因为子应用需要遵循很严格的约定才能被正确处理,下面这些写法都会产生问题:

height: 2rem;
:root {
}
:is(html) {
}
:where(html) {
}

目前浏览器不具备详细解析 CSS selector 的能力,因此只有两种选择:(1)自行实现非常简单的 selector 解析(2)引入第三方,如 css-tree在新窗口打开

ESM 能支持沙箱吗?

理论上可能,但缺乏实际价值,需要自行实现对 ESM 的解析和运行。

注意

无论是 ESM 还是 UMD,是否开启沙箱都应该保持慎重,特别是在无法控制子应用内容的情况下(比如不同团队维护)。

如何查看执行日志?

Haploid.js 依赖 debug在新窗口打开 来记录日志,因此可以:

localStorage.debug = "haploid(*):*";