Мое решение почти такое же, как у Дэвида, но вместо жесткого кодирования папки app
используется %kernel.root_dir%
(хотя, я сомневаюсь, многие меняют имя этой папки), например:
{%- javascripts output='compiled/main.js'
'%kernel.root_dir%/Resources/public/js/jquery-1.10.2.min.js'
'%kernel.root_dir%/Resources/public/js/underscore-1.5.2.min.js'
'@MyOwnBundle/Resources/public/js/default.js'
-%}
<script src='{{ asset_url }}'></script>
{%- endjavascripts %}
Если сторонние библиотеки ссылаются на свои собственные ресурсы (например, изображения в подпапке img
, на которые ссылаются файлы .css), обычно достаточно создать соответствующие символические ссылки на сервере, например, ln -s .../app/Resources/public/img .../web/img
или что-то подобное.Или, конечно, используйте фильтр cssrewrite, но остерегайтесь его предостережений.
(Также обратите внимание, что я не использую атрибут type="<mime-type>"
, так как тип содержимого файлов предоставляется в заголовках HTTPв любом случае.)