Assetic不输出多个Javascript标记

时间:2013-10-20 15:20:44

标签: php symfony assetic

我正在学习Symfony 2,目前正在使用Assetic来管理我的CSS和Javascript文件,如下所示:

{% stylesheets '@testMainBundle/Resources/public/css/*' filter='cssrewrite' %}
    <link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}

{% javascripts '@testMainBundle/Resources/public/js/*' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

@testMainBundle/Resources/public/js我有3个文件:bootstrap.min.jsjquery-1.10.2.min.jsmain.js。但是,网页的源代码如下:

<script type="text/javascript" src="/app_dev.php/js/4a0d3cd_part_1_bootstrap.min_1.js"></script>

显然,Assetic只提供该目录中的一个文件,即bootstrap文件。我已经检查过它并没有合并文件,它只是 正在输出的bootstrap.min.js文件。

但是,Assetic可以正常使用两个CSS文件。我尝试刷新浏览器缓存,但没有任何变化。

另外,作为一个附带问题,如何确保Assetic在jquery-1.10.2.min.js之前输出bootstrap.min.js? Bootstrap依赖于jQuery,因此无法先打印。

1 个答案:

答案 0 :(得分:1)

找到我自己的解决方案,我必须做以下事情:

{% javascripts
    '@testMainBundle/Resources/public/js/jquery-1.10.2.min.js'
    '@testMainBundle/Resources/public/js/*' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

不确定Assetic是否记录为以这种方式工作,但它似乎打印出jQuery首先包含,然后是其他每个文件。完美!

相关问题