【问题标题】:Grails process dynamic javascript (output from gsp) as a resourceGrails 将动态 javascript(从 gsp 输出)作为资源处理
【发布时间】:2012-07-21 22:13:23
【问题描述】:

我的 GSP 模板中包含一个 JS 文件,如下所示:

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

/javascript/common 输出一些动态 JS,例如预填充列表客户端。它是每次服务器重新启动时动态的,即它不需要根据请求生成,而是在重新部署时更常见。

我想知道如何使用资源插件将其作为资源处理,并获得缩小和压缩等功能。

有时可能需要刷新。是否可以支持以与其他资源类似的方式刷新它,即当底层文件被修改时,插件会重新加载它。

谢谢...

【问题讨论】:

标签: grails plugins resources


【解决方案1】:

确保它与资源插件配合的最佳方法是创建a custom ResourceMapper

过于简化的版本:

  1. grails-app/resourceMappers文件夹中创建一个以ResourceMapper.groovy为文件后缀的文件。
  2. 使用def phase = MapperPhase.GENERATION装饰班级
  3. 实现 def map(resource, config) {} 以在请求时生成您的资源。

您的自定义映射器将在每次部署时运行一次,然后使用静态生成的文件。当然,您使用的所有缩小/压缩都将在 GENERATION 阶段之后运行。

更新:@Ruben 建议的 Gsp Resources 插件看起来确实可以满足您的需求。您可以查看 source 的自定义映射器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    相关资源
    最近更新 更多