使Assetic输出常规链接

时间:2016-02-24 23:05:56

标签: symfony assetic

是否有可能模仿"正常"资产使用Assetic以便以下内容:

{% javascripts '@AppBundle/Resources/public/js/*' %}
  <script src="{{ asset_url }}"></script>
{% endjavascripts %}

会变成,

<script src="bundles/App/js/1.js"></script>
<script src="bundles/App/js/2.js"></script>

- 如果1.js2.js属于'@AppBundle/Resources/public/js/*'

后者,而不是目前在Assetic的调试模式中的内容:

<script src="/dev.php/js/w/aaaaa_1.js"></script>
<script src="/dev.php/js/w/aaaaa_2.js"></script>

基本上,在开发中,我希望能够直接从网络服务器检索资产,不用使用,

  1. Symfony的控制器提供内容(因为它为每个资产增加1-2个 - 即使是小文件)
  2. $ php bin/console assetic:watch(因为它在我们的共享开发服务器上使用了大量CPU)
  3. 每次资产变更后手动转储。

1 个答案:

答案 0 :(得分:1)

我认为你应该能够做到这一点:

{% javascripts 'bundles/app/js/*' %}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

并使用命令assets:install --symlink

在config_dev.yml

assetic:
    use_controller: false

但是,在部署时使用@符号解决了缓存问题,因为当内容发生更改时,名称会有所不同,导致浏览器被强制下载新文件。

documentation中的更多信息。