Skip to content
This repository has been archived by the owner on Nov 17, 2022. It is now read-only.

资源预加载 #230

Open
chenjun1011 opened this issue May 26, 2022 · 2 comments
Open

资源预加载 #230

chenjun1011 opened this issue May 26, 2022 · 2 comments
Assignees

Comments

@chenjun1011
Copy link
Contributor

原计划将页面依赖的 JS 资源,通过 preload 的方式进行预加载

image

#229

但实时上,浏览器在下载完 HTML 后,HTML 中声明的 link 和 script 资源会被立即发起请求,且是并行的,而非按顺序边解析,边加载。

所以将 body 中的 script 内容前置到 head 中,使用 preload,并不会提前资源的加载时机。

通过 preload 可能带来较大收益的场景是:

  • 提前发起 CSS 资源内依赖的 fonts / images
  • 大的图片或视频资源
  • 异步加载的 js 资源
@ClarkXia
Copy link
Collaborator

ClarkXia commented May 27, 2022

除了当前页面资源之外,是否还可以考虑闲时其他页面资源的预加载策略,比如 https://github.com/GoogleChromeLabs/quicklink 中的一些逻辑策略

@wssgcg1213
Copy link
Collaborator

@chenjun1011

  1. 08 年之后的大多数浏览器都实现了预先扫描 html 文件去提早并行下载资源 js/css/image 的逻辑
  2. 以上逻辑对于动态下载的资源是不生效的, 比如 react-router 匹配分包后的资源
  3. 看下能否通过 loader 去收集这些资源, 并按需地去预加载

@ice-lab ice-lab locked and limited conversation to collaborators Nov 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants