491 - 《Umi Prefetch 实现迭代》
发布于 2024年11月25日
1、早就知道 Umi Prefetch 有问题了,因为要开发 TNF,而 TNF 可以完美解决这个问题,就想着先不修了。然后有人提了个 issue,说 Umi Prefetch 挂了。于是换了种思路修复了下,做下简单记录。
2、Umi Prefetch 是通过配置 routePrefetch
开启的。他包含 3 个能力的 prefetch,1)js & css,2)client loader,3)server loader。逻辑是,当路由匹配时,会做所有匹配路由的这些内容的预加载和恢复。
3、其好处有两个,1)预加载可以让请求提前发起,所以如果点慢一点点,会有秒开的错觉,2)解决瀑布流的问题,详见 91 - 《Bigfish 4 特性 03:默认最快的请求》。
4、这次出问题的是 js & css 的预加载。要做基于路由的 js & css 的预加载,就需要知道路由和 js & css 的隐射关系。之前的实现,拿产物里的 manifest