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

Vaadin @Javascript : clear cache for updated JS file

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

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

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

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

如你所想:如果你想确保用户拥有最新版本的JS文件,你应该将JS文件名重命名为:script_buildNumber.js.

使用 Chrome 的隐身功能(访问 spicy/unpleasant 网站时不要使用它)。

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

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

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

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

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

尽管 它有其局限性,如我对 的回答所述。