Skip to content

link标签ref属性prefetch与preload

作用:预加载资源【只提升加载(请求)优先级,但不解析,等script src引用再从prefetch catch缓存里取出来用】

preload && prefetch

preload(不支持IE): 提升当前页资源加载的优先级,使得它尽早开始加载(请求资源),在需要用的时候能够更快的使用上【与解析器不冲突】

  • 一般配合as(script)使用,告诉浏览器提升请求优先级
js
// 例如:提升字体资源加载优先级(优先加载),防止页面出现后出现文字闪动
<link rel="preload" as="font" crossorigin type="font/woff2" href="./myfont.woff2">

// 例如vue-cil打包后,会在vendor上的script加上preload,提升网络请求优先级
<link href="/js/chunk-vendors.c7a22fdc.js" rel="preload" as="script">

prefetch(支持IE11):空闲时间下载其他页资源。并将其存储在缓存中,需要时快速的从浏览器缓存中得到(prefetch cache)

js
// 例如其他页面的模块js、css等文件
<link href="/js/chunk-other-page.ba6faa0b.js" rel="prefetch">
<link href="/css/chunk-other-page.e27d879d.css" rel="prefetch">

总结

预加载其他页面资源preload & prefetch(vue-cli默认已配置)

preload + as 告诉浏览器更精确的加载资源优先级,一般是当前页面需要的

as类型:font、script、style、image、audio、document、video等

prefetch 其它页面有可能用到的资源