【问题标题】:Assetic not outputting more than one Javascript tagAssetic 不输出多个 Javascript 标签
【发布时间】:2013-10-20 15:20:43
【问题描述】:

我正在学习 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.min.js 文件。

不过,Assetic 可以很好地处理两个 CSS 文件。我尝试刷新浏览器缓存,但没有任何变化。

另外,作为一个附带问题,我如何确保 Assetic 在bootstrap.min.js 之前输出jquery-1.10.2.min.js? Bootstrap 依赖 jQuery,所以不能先打印出来。

【问题讨论】:

  • dev 环境中,Symfony2 单独为每个文件提供服务以方便调试。
  • 我知道,这不是问题所在。再次阅读问题。
  • 也许你很清楚,但你没有在你的问题中谈论 devprod 环境。你说我已经检查过了,它没有在包含/app_dev.php/js/ 的代码之后合并文件,这只是正常行为。

标签: php symfony assetic


【解决方案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 包含,然后是所有其他文件。完美!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多