根据英文文档介绍
1. Preload: A preloaded chunk starts loading in parallel to the parent chunk.
所以Proload应该是和核心代码同时(in parallel)加载
2. 两者的区别:
第一: 下载的时间点不同
对于prefetch,是在带宽空闲的时候下载。
对于preload,是立刻下载。(is instantly downloaded)。
第二: preload chunk 和 prefetch chunk 被核心代码请求(call)的时间点不同
对于prefetch,在未来的某一个时刻会被请求,例如老师给的登录这个例子。
对于preload,是立刻被请求。
3. 什么情况下用Proload:
想象以下的情况:
一个主页上有一个组件,该组件需要引入一个比较大的库。当主页被加载完成之后会立刻请求这个组件,
那么这个组件在引入这个库的时候需要使用proload
当打包完成,主页生成一个page-chunk,这个比较大的library也会生成一个big-library-chunk。
假设page-chunk文件大小远远小于big-library-chunk。
因为在引入biglibrary的时候,使用了preload。所以主页的page-chunk和biglibrary-chunk会被同时加载。刚在前面已经假设page-chunk文件大小远远小于big-library-chunk,所以结果是主页会被先加载完成,等待big-library-chunk加载完成。
最后等big-library-chunk加载完成,主页会立刻请求(call)这个组件。
因为是同时加载,会比先加载page-chunk再加载biglibrary-chunk快一些。
以上是我对proload的一些理解,希望能帮助到你。