【发布时间】:2015-01-08 06:08:02
【问题描述】:
关于我正在使用的应用程序的一些背景知识:Spring MVC、Java EE Web 应用程序、Maven。
基本上,我正在寻找一种在每次部署应用程序时刷新所有 JS 和 CSS 文件的机制。就目前而言,应用程序正在引用静态文件(例如“js/app.js”)。每次这个文件有变化,在本地重新部署后,我们在浏览器去下载的时候得到一个304(文件没有被修改过)。我的问题是:
1) 在重新部署应用程序时再次提供这些文件并使用应用程序版本作为缓存破坏机制(例如“js/v1.0.0/app.js”)会更好吗?这可以通过 servlet 过滤器来完成。
2) 由于该项目是一个 Maven 动态 Web 项目,是否有某种插件可以做这种事情。我正在查看 wro4j 是否可以做到这一点,但从我读到的很少内容来看,它主要用于处理这些 JS 和 CSS 的缩小,这也非常有用。
哪种方法是正确的?提前致谢
【问题讨论】:
-
您能像 Drupal 等 CMS' 的常见做法那样使用查询字符串吗?示例 URL:path/to/file.js?123456 下次部署后的示例 URL:path/to/file.js?123456?[UNIX TIMESTAMP/RANDOM STRING/SOME VAR]
-
现在有同样的要求。你最后做了什么@Kruiz
-
我已经使用 Microsoft 堆栈很长时间了。由于我正在使用 Java、Spring 和 Tomcat 堆栈,因此我有兴趣找出捆绑、缩小和缓存破坏的最佳实践。我知道这是一个旧帖子,但你能分享你的发现吗?谢谢! -V
标签: javascript css maven caching browser