我正在使用 ReactJS 开发我的项目,并且使用create-react-app
创建我的应用程序。构建项目后,我使用我的服务器来服务build
文件夹。当我更新我的应用程序时,用户的浏览器仍然使用我的应用程序的旧版本,因为它缓存静态文件(js,css)。那么有什么办法可以阻止浏览器缓存静态文件呢?
谢谢 !
TLDR:您需要通过 HTTP 标头发送缓存指令。
The Cache-Control
header 有几个指令来控制缓存行为、过期和验证。
缓存行为:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
缓存控制:公共
资源可以被任何缓存缓存
缓存控制:私有
资源只能被浏览器缓存
缓存控制:无存储
设置浏览器始终向服务器请求资源
缓存控制:无缓存
这告诉浏览器缓存该文件,但在与服务器检查以验证我们拥有最新版本之前不要使用它。此验证是通过 ETag 标头完成的。 (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)