资产ou Gassetics?

时间:2016-01-25 17:16:13

标签: symfony assets dependency-management

我只是运行Gassetics,似乎是SF资产管理的下一代。到目前为止,我使用了Assetics。 但有一个问题:使用Assetics我曾经使用Twig parent()方法分割文件以便只加载所需的文件:

{% block scripts %}
   {{ parent() }}
   {% javascripts
       '@LCHAdminBundle/Resources/public/js/jquery.specific.addition.js'
   %}
        <script src="{{ asset_url }}"></script>
   {% endjavascripts %}
{% endblock scripts %}

所以我可以添加一个特定的页面,只需要脚本,所以“强迫”(以高贵的方式)相应地思考和分割我的枝条文件。

Gassetics可以这样做吗?我jsut看到你可以指定后端和前端文件,仅此而已。

如果我使用Gassetic标签嵌套Twig文件,它会起作用吗?

编辑:感谢Wouter J.评论,我调整了我的问题: 在Assetics中,您明确指定要包含的文件,从而赋予嵌套功能。与Gassetics一样,您只需添加将在CSS / JS文件生成期间替换的标记,您如何实现相同的目标?

1 个答案:

答案 0 :(得分:1)

您可以在gassetic配置中执行所有这些操作(请参阅https://github.com/romanschejbal/gassetic中的 yaml示例with gassetic.yml )。

示例gassetic.yml:

js:
    files:
        common.js:
            - assets/vendor/jquery/jquery.js
            - assets/vendor/angular/angular.js
        page1.js:
            - assets/vendor/lchadminbundle/jquery.specific.addition.js

common.html.twig:

{% block scripts %}
    <!-- prod:common.js --><!-- endbuild -->
{% endblock scripts %}

page1.html.twig

{% extends 'common.html.twig' %}

{% block scripts %}
    {{ parent() }}

    <!-- prod:page1.js --><!-- endbuild -->
{% endblock scripts %}

这种方法比在子模板中嵌套脚本更好,因为可以在页面请求之间缓存常用文件。