Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在页面之间强制缓存某些Javascript库文件(如react.min.js等)?_Javascript_Reactjs - Fatal编程技术网

在页面之间强制缓存某些Javascript库文件(如react.min.js等)?

在页面之间强制缓存某些Javascript库文件(如react.min.js等)?,javascript,reactjs,Javascript,Reactjs,在非SPA网站的页面之间导航时,是否可能强制缓存某些Javascript库文件(如react.min.js等) 在不完全使用SPA的情况下,尝试查看更组件化结构的可行性。我正在工作的网站经常会有人访问一个页面然后离开,但如果他们留下来,我不想让他们重新加载页面上的每个库。背景您应该了解 网上有成千上万篇关于这个话题的文章,但这里有一个很好的总结 浏览器缓存是计算机上的临时存储位置,用于存储浏览器下载的文件以显示网站。本地缓存的文件包括构成网站的任何文档,如html文件、CSS样式表、JavaSc

在非SPA网站的页面之间导航时,是否可能强制缓存某些Javascript库文件(如react.min.js等)


在不完全使用SPA的情况下,尝试查看更组件化结构的可行性。我正在工作的网站经常会有人访问一个页面然后离开,但如果他们留下来,我不想让他们重新加载页面上的每个库。

背景您应该了解 网上有成千上万篇关于这个话题的文章,但这里有一个很好的总结

浏览器缓存是计算机上的临时存储位置,用于存储浏览器下载的文件以显示网站。本地缓存的文件包括构成网站的任何文档,如html文件、CSS样式表、JavaScript脚本以及图形图像和其他多媒体内容

重新访问网站时,浏览器会检查同时更新的内容,只下载更新的文件或缓存中尚未存储的内容。这减少了用户和服务器端的带宽使用,并允许更快地加载页面。因此,当您的Internet连接速度较慢或有限时,缓存尤其有用

TL;DR
我不知道你是否真的在寻找一种方法来强制浏览器缓存你的文件,或者你只是误解了缓存的工作原理。一般来说,访问者使用的浏览器是做出决定并为您处理一切的浏览器。如果它发现需要一个过去已经访问过的资源,它不会再次请求它,它只会使用它的缓存。因此,您的库不会被反复加载。就一次


现在,如果您确实需要强制浏览器缓存您的文件,请查看解决方案。这应该会让你找到一个很好的解决办法。

安德鲁·布拉辛顿的回答也提出了一个好的观点,我在另一个SO问题中提到了这一点。如果你想强制/确保缓存,你需要有正确的HTTP头。我想你的问题会从一些澄清中受益。你真的想强制浏览器缓存这个文件吗?为什么他们一开始不这么做?如果我的回答误解了你的问题,请告诉我。在进一步阅读我的问题后,我发现不需要额外的工作。问题在于如何确保在具有多个组件的多页面React应用程序中,在页面之间导航时不会尝试重新下载相同的component.js文件。我想,对一些人来说,回到最基本的问题上有时可能有点愚蠢。结论:这是由浏览器自动处理的(如所选答案中所述),不需要额外的工作。