繁体   English   中英

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

[英]How to avoid asking the clients to clear browser cache for the latest Javascript changes?

客户会在我们的JS大量应用中报告一个错误,我们已将其修复,但客户的浏览器仍在使用缓存的副本。 这种情况经常发生,要求我们的客户刷新其浏览器缓存似乎是技术含量很低且麻烦的事情。

我们知道?ver=xxx解决方法,但是我们使用RequireJS,因此应用这种技巧并不容易。

HTTP缓存控制会起作用吗? 但是,我们注意到IIS不会立即接收JS文件的更改,并且HTTP标头(最近修改)没有反映最新的更改。

ETag会更好吗? 比IIS上一次修改好还是坏?

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

RequireJS具有可以使用的缓存清除属性 -:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM