林风
林风
有一个解决方案就是在对于沙箱内 Window 的对象再代理一次 Document 属性,在 proxy 过的 document 内处理 createElement 方法将特殊属性挂载到元素上去,而不是全局劫持方法。 此方案需要 @bailicangdu review 下,如果可以的话我提个 pr。
@keuby 经过测试,我们发现 proxyDocument 在一些场景下仍然会被绕过,如 react-dom 的 ownerDocument 和 parentNode 方式访问 document 等,具体解决方案还在设计中。
npm 包支持 umd 模式的话,由子应用或者主应用挂在 window 上就可以吧
看起来和 #383 问题类似
@bailicangdu 有空可以 review 下~
@bailicangdu 可以合了么?
提供一个 Inject 方法? ```ts microApp.inject(injectData: unknown, appName?: string) ``` 如果要清除的话: ```ts microApp.clearInjectData(appName?: string) ```
@tuzhu008 没理解你的回复,这些 inject 的数据写入基座是指什么意思?
@lanmingle 现在执行 ``` wc -l `find . -name '*.ts' -not -path './__tests__/*'` ``` 扫描现有的代码结构,得到的结果是: ``` 106 ./prefetch.ts 466 ./source/scoped_css.ts 409 ./source/scripts.ts 41 ./source/load_event.ts 185 ./source/links.ts 121 ./source/index.ts 17 ./source/fetch.ts 497...
@typistZxd 1. 这个通过缓存一些常用的全局变量,如 Math/Object 等可以优化性能瓶颈,其他的场景基本不会因为访问作用域造成性能问题 2. 可以通过 inline 模式调试子应用