Partytown 是一个大小仅 6kb 库,用于帮助将资源密集型脚本转移到 web worker 中,并脱离主线程。它的目标是通过将主线程专用于你的代码,并将第三方脚本卸载到 web worker,来帮助加快网站的速度。
Partytown 的一些目标包括:
- 释放主线程资源以仅用于主 Web 应用程序执行。
- 沙盒第三方脚本并允许或拒绝其访问主线程 API。
- 在 Web 工作线程中隔离长时间运行的任务。
- 减少来自第三方脚本的布局抖动。
- 限制第三方脚本对主线程的访问。
- 允许第三方脚本完全按照编码方式运行,无需任何更改。
- 从 Web Worker 中同步读取和写入主线程 DOM 操作,允许从 Web Worker 运行的脚本按预期执行。
- 不需要构建步骤或捆绑,而是以与更新传统第三方脚本相同的方式更新脚本。
Partytown 的理念是主线程应该专用于你的代码,任何不需要在关键路径中的脚本都应该移动到 web worker。