【发布时间】:2015-02-11 23:39:31
【问题描述】:
在 Grails 2.4.4 中是否有防止缓存修改资源的标准方法?例如,我想要一个包含诸如
之类的代码的 gsp<g:javascript src="application.js" />
在我部署新版本的 Web 应用程序时,让浏览器不使用缓存版本的 application.js。例如,有没有一个地方我可以在不修改文件名本身的情况下更新版本号?如果我修改文件名本身,它会与我的 git 提交历史记录混淆。
【问题讨论】:
-
如果您使用资产管道插件,这将自动为您处理。因为它会生成文件名的散列版本,该文件名会在文件更改时更改。因此,没有缓存。都是透明的。很棒的插件。用它。它还可以做更多的事情,但我只概述了与您的问题有关的内容。
-
我显然已经编译了 1.9.9 版本。我还需要做其他事情,还是升级到 2.1.1 可以解决所有问题?
-
升级到引入此功能的 2.0 之后的任何版本。请参阅:bertramdev.github.io/asset-pipeline/guide/releases.html 还请阅读其余文档,了解如何设置和配置以供您使用。
-
其实,检查你的生产源。它可能已经在为您执行此操作。在您的页面上查看源代码并查看名称是否为您的包含进行了哈希处理。
-
事实证明我需要使用asset:javascript 而不是g:javascript 并将资产放在新的资产文件夹而不是web-app 中。谢谢你指点我去哪里看!