Grails资源插件 - 如何获得生成的网址?

问题描述:

有谁知道我可以如何访问资源插件会吐出的确切URL?Grails资源插件 - 如何获得生成的网址?

我想使用资源插件来优化我的JavaScript文件的传输,但是,我正在编写的应用程序是一个使用缓存清单的HTML5离线应用程序。根据高速缓存清单的规则,高速缓存清单文件必须完全按照html页面中显示的文件引用文件。

资源插件在聚合文件中添加了一堆查询字符串信息和校验和。为了使资源插件优化缓存显示工作,我需要吐出资源插件在我的缓存清单文件中的确切URL。

下面是一些例子是什么我谈论:

资源插件会吐出在我的HTML输出如下:

<script src="/awesome-app/static/36wl8Nwm8L7ZZMSbV6NVQPfi6xCx6DcVV0wFDCYRyv5.js" type="text/javascript" ></script> 

如果我能得到的的36wl8Nwm8L7ZZMSbV6NVQPfi6xCx6DcVV0wFDCYRyv5.js部分保持上面的URL,我可以将它包含在我的缓存清单文件中,如下所示:

CACHE MANIFEST 

# rev 192 

NETWORK: 
* 

CACHE: 
static/36wl8Nwm8L7ZZMSbV6NVQPfi6xCx6DcVV0wFDCYRyv5.js //<-- this would be the aggregated file! 

感谢您的帮助!

我认为重命名是缓存资源插件的一部分,而不是基本资源插件。如果我们谈论的是同样的事情,他们使用每个文件字节内容的SHA256散列来产生散列。请参阅github上的HashAndCacheResourceMapperBASE62类,您将看到它们如何生成文件名。或者,如果您不依赖插件中的缓存机制,则可以禁用它并避免所有问题。

+0

正确的你,proflux。一旦我删除了缓存插件,我就开始使用我的缓存清单进行捆绑和缩小工作。感谢您帮助我看到灯光。 ;-) – 2012-07-12 03:01:02