问题描述
我想了解预加载的工作方式以及预加载的文件(如图像)的去向。 我想我无法理解它,因为我缺乏基本的要求和对渲染行为的理解... 例如,这是Codrops的预加载代码段:
const imagesLoaded = require('imagesloaded');
const body = document.body;
export const preloader = selector => {
return new Promise(resolve => {
const imgwrap = document.createElement('div');
imgwrap.style.visibility = 'hidden';
body.appendChild(imgwrap);
[...document.querySelectorAll(selector)].forEach(el => {
const imgEl = document.createElement('img');
imgEl.style.width = 0;
imgEl.src = el.dataset.img;
imgEl.className = 'preload';
imgwrap.appendChild(imgEl);
});
imagesLoaded(document.querySelectorAll('.preload'),() => {
imgwrap.parentNode.removeChild(imgwrap);
body.classList.remove('loading');
resolve();
});
});
};
它们是否以某种方式存储在内存中,以便在视图或其他视图中仅需要下载一次?我说的是项目文件目录中的图像,而不是CDN要求的图像。
在相同的想法中,我正在学习React,我知道您可以延迟加载组件以使其不同时下载,但是我不知道幕后发生了什么,这些组件预加载在哪里? / p>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)