我喜欢LESS css和Google Closure编译器对Play 2的支持。有没有办法添加对自动版本控制的支持,这样我就不必担心每次更改时都重命名文件。 社区中的其他人如何处理这个问题?
答案 0 :(得分:1)
我认为这是您正在谈论的缓存问题。如果它是您正在讨论的版本控制问题,那么Version Control System就像git或mercurial一样。
每个静态资源都会出现此缓存问题。
问题
为了在客户端快速显示网页(并且为了在服务器端没有那么多静态内容请求),您将在HTTP响应中添加Cache-Control和Etag指令。然后,浏览器将从其缓存中获取这些静态资源。
但是如果您更改logo.png(例如更改公司徽标),由于此图像存储在浏览器缓存中,用户将看不到您的新徽标。
<强>解决方案强>
我看到两个解决方案:
http://www.mydomain.com/public/images/logo.png?v=1.2
。如果更改v
参数,浏览器将不会从缓存中检索它。在服务器端,查询参数不会更改任何内容,并且将再次缓存所服务的资源。我使用我的application.conf中的配置参数的第二个解决方案附加到所有静态资源。这假设当您更新单个资源时,所有资源都会重新加载(通常,当您更改图像时,您也将更改您的CSS,为什么不更改您的js文件...)