Как Symfony2 работает с JQuery? Что такое дамп активов? И почему?

Я новичок в среде Symfony2 и до сих пор не очень понимаю, как включить JQuery lib после прочтения следующей документации http://symfony.com/doc/current/cookbook/assetic/asset_management.html#дамп-файлов-активов

Я видел похожие вопросы, но ни один из них не объясняет, как все работает вместе? А зачем нам сбрасывать активик? Почему включения их в шаблон недостаточно?

По сути, я хочу поместить свою библиотеку JQuery в app/Resources/js/ Затем в любом из моих шаблонов Twig внутри любого моего пакета, на который я хочу ссылаться /включите эту библиотеку JQuery, чтобы иметь возможность писать код сценария JQuery. Нужно ли мне изменять файл app/config/config.yml?

Пожалуйста, предоставьте мне пример вместе с вашим объяснением. Вот что я сделал до сих пор (все следующее в одном шаблоне Twig):

{% javascripts 'app/Resources/js/jquery-1.8.0.js' %}
<script type="text/javascript">
$(document).ready(function (){
    $('a').click(function(event){
        $('#box').fadeOut();
    });
}); 
</script>
{% endjavascripts %}

<div id="box">
    <a href="#">click me</a>
</div>

Страница загружается без проблем, но когда я нажимаю «щелкнуть меня», код JQuery не выполняется!


person mkhayata    schedule 19.08.2012    source источник


Ответы (1)


Вы что-то упускаете из реализации своей активной ветки. Ты должен сделать:

{% javascripts 'app/Resources/js/jquery-1.8.0.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
...

Без этой второй строки jquery фактически не загружается.

В любом случае использование ассета необязательно. Если вы не чувствуете себя комфортно с этим, вам не нужны оптимизации, которые он предоставляет, или вы предпочитаете использовать что-то более знакомое, пока вы не освоите его, а затем просто поместите файл jquery куда-нибудь в свою «веб-папку» (например, во вложенной папке js), а затем загрузите его, как если бы вы загружали любой другой файл ресурсов:

<script src="{{ asset('/js/jquery-1.8.0.js') }}" type="text/javascript"></script>
person Carlos Granados    schedule 19.08.2012
comment
спасибо за ответ, а пока я пойду по простому пути без оптимизации; то, что вы предоставили, - это то, как включить библиотеку JQuery, и это здорово, но теперь я хочу поместить несколько файлов js в свой пакет в Resources/public/js и включить их в свой Twig сразу после включения JQuery lib - person mkhayata; 20.08.2012
comment
Если вы не хотите использовать активы, просто поместите их в подпапку js веб-папки и включите их с оператором, подобным тому, который используется для jquery: ‹script src={{ assets('/js/another-file. js') }} type=text/javascript›‹/script› - person Carlos Granados; 20.08.2012