2012-07-21 42 views
2

我有被包括在我的GSP模板如下一個JS文件:Grails的處理動態的JavaScript(從GSP輸出)作爲資源

<r:script type="text/javascript"> 
    <g:render template="/javascript/common"/> 
</r:script> 

/javascript/common輸出一些動態JS例如預填充列表客戶端。每個服務器重新啓動時它都是動態的,即不需要爲每個請求生成,而是更常用於重新部署。

我不知道我該怎麼處理它作爲使用資源插件的資源,並得到來縮小它和壓縮能力,它等

可能有時它需要被刷新。是否有可能支持以與其他資源類似的方式刷新它,即當底層文件被修改時插件重新加載它。

感謝...

+1

您可能會看看Gsp資源插件http://grails.org/plugin/gsp-resources。 – Ruben 2012-07-22 08:28:04

回答

1

,最好的辦法,以確保它與資源插件合作將創造a custom ResourceMapper

過於簡化的版本:

  1. 創建ResourceMapper.groovy一個文件作爲文件後綴,在grails-app/resourceMappers文件夾中。
  2. 使用def phase = MapperPhase.GENERATION
  3. 實現def map(resource, config) {}在請求時生成資源。

您的自定義映射器將在每個部署中運行一次,然後使用靜態生成的文件。所有的縮小/壓縮,你使用的將會在之後的代碼階段運行

更新:它看起來像Gsp資源插件@Ruben建議會做你想要的。你可以看到它的自定義映射器的source