gpt4 book ai didi

javascript - 如何避免要求客户端清除浏览器缓存以获取最新的 Javascript 更改?

转载 作者:行者123 更新时间:2023-11-29 17:15:48 25 4
gpt4 key购买 nike

客户端会报告我们的 JS-heavy 应用程序中的错误,我们修复了它,但客户端的浏览器仍在使用缓存的副本。这种情况经常发生,要求我们的客户刷新浏览器缓存似乎技术含量很低而且很麻烦。

我们知道 ?ver=xxx 解决方法,但我们使用 RequireJS所以应用这样的 hack 并不容易。

HTTP 缓存控制会起作用吗?但是,我们注意到 IIS 不会立即获取 JS 文件更改,并且 HTTP header (最后修改)不会反射(reflect)最新更改。

ETag 会更好吗?与上次在 IIS 上修改相比是更好还是更差?

还有其他解决方案吗?谢谢

最佳答案

RequireJS 有一个 cache busting property你可以使用 -:

require.config({
urlArgs: "bust=" + (new Date()).getTime()
});

编辑 - 但是,正如 Ian 在下面指出的那样,在他们的文档中建议不要以这种方式用于生产代码。

每次将新提交推送到生产环境时,您都可以改为添加特定版本号。

require.config({
urlArgs: "ver=1.1.1"
});

关于javascript - 如何避免要求客户端清除浏览器缓存以获取最新的 Javascript 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com