2012-07-11 53 views
2

有誰知道我可以如何訪問資源插件會吐出的確切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! 

感謝您的幫助!

回答

1

我認爲重命名是緩存資源插件的一部分,而不是基本資源插件。如果我們談論的是同樣的事情,他們使用每個文件字節內容的SHA256散列來產生散列。請參閱github上的HashAndCacheResourceMapperBASE62類,您將看到它們如何生成文件名。或者,如果您不依賴插件中的緩存機制,則可以禁用它並避免所有問題。

+0

正確的你,proflux。一旦我刪除了緩存插件,我就開始使用我的緩存清單進行捆綁和縮小工作。感謝您幫助我看到燈光。 ;-) – 2012-07-12 03:01:02