2

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

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

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

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

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

谢谢 ...

4

1 回答 1

1

确保它与资源插件合作的最佳方法是创建一个自定义 ResourceMapper

过于简化的版本:

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

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

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

于 2012-07-22T04:47:04.200 回答