首页 > 解决方案 > 有什么方法可以告诉 v8 为加载相同 javascript 库的下一个“页面”保留 p 代码

问题描述

场景:为了让灯塔分析满意(即减少下载、阻塞等),一个 Web 应用程序已被分割,以便以前的页面内对话/序列现在是独立的,随后加载的页面。

自然,这意味着单个库链接下载现在已成为每个结果对话框页面的下载。就下载大小而言,任何缓存机制都会改善任何乘数。虽然 v8/closure 已被用于大幅缩减下载大小 - 这留下了为每个实例重新解析和重新编译的阻塞问题(如果我们是最优的,实际上应该只需要在目标/客户端上进行一次解析/编译)

所以,问题是,是否有任何机制来标记库代码,以便 v8 引擎保留并重用它第一次解析的 p 代码?[注意,ServiceWorker 实现不是库/框架的答案。]

标签: javascriptv8

解决方案


V8 结合它嵌入 Chrome 的方式,确实具有缓存代码的能力。你不需要标记任何东西;就像 HTTP 缓存一样,浏览器有一定的启发式方法来自行决定是否/何时缓存内容。


推荐阅读