Vaadin @Javascript :清除更新的JS文件的缓存

Vaadin @Javascript : clear cache for updated JS file

本文关键字:JS 缓存 文件 更新 @Javascript 清除 Vaadin      更新时间:2023-09-26

我的应用程序中有一个@JavaScript注释,用于从类路径加载.js文件。

现在我已经对文件进行了更新并重新部署(本地),但我总是得到旧版本。 我尝试重新加载所有内容(ctrl + R,ctrl + F5),但这不起作用,而且我不希望用户必须这样做。

我过去使用的一个技巧(没有 Vaadin)是在版本(例如 ?version=1)后附加一个请求参数并更新它,以便 URL 更改。 但显然@JavaScript注释不允许这样做(Vaadin 甚至不尝试加载文件)。

我通过使用Vaadin servlet配置的resourceCacheTime参数来克服这个问题:

@VaadinServletConfiguration(ui = MyUI.class, resourceCacheTime = 0)

尽管正如我在这里回答另一个问题中所述,它有其局限性。

这是本地缓存JS文件的浏览器功能,与Vaadin无关。

正如你自己弄清楚的那样:如果你想确保用户拥有最新版本的JS文件,你应该将JS文件名重命名为:script_buildNumber.js

使用 Chrome 的隐身功能(访问辛辣/令人不快的网站时不要使用它)。

只需在隐身模式下打开浏览器 https://support.google.com/chrome/answer/95464?hl=en 浏览器,浏览器就不会缓存任何内容。

其他浏览器也有此功能(Opera,IE,Firefox,Safari)。

正如我在 1 月 12 日对这个问题的评论中所指出的那样,重命名文件是有效的。 这似乎是目前唯一的方法,尽管它远非理想。