Почему только некоторые js-библиотеки загружаются с Symfony2/Twig?

Попытка загрузить несколько js-библиотек. Используя любой из приведенных ниже методов, файлы bootstrap и facebook js загружаются нормально, но любые другие библиотеки, которые я добавляю, либо выдают ошибку 500, если вызываются по имени, либо просто не загружаются, если используется /* Все файлы находятся в одном каталоге с те же разрешения, насколько я могу судить. Почему это происходит и как я могу это исправить?

Способ 1:

{% javascripts
        'bundles/onnbrun/js/*'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

Способ 2:

{% javascripts
        'bundles/onnbrun/js/jquery-1.8.0.min.js'
        'bundles/onnbrun/js/jquery-ui-1.9.0.js'
        'bundles/onnbrun/js/bootstrap.min.js'
        'bundles/onnbrun/js/facebook_enable.js'
        %}
        <script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}

ОБНОВЛЕНИЕ №1:

Используя синтаксис @Bundle, предложенный ниже, я могу запустить php app/console assets:dump без ошибок; однако, когда я пытаюсь перейти к app_dev.php в браузере, я получаю сообщение об ошибке:

Во время компиляции шаблона возникло исключение ("Не удалось найти файл "@ONNBrunBundle/js/jquery-1.8.0.min.js".") в "ONNBrunBundle::web.html.twig".

Я могу просматривать файл, расположенный в каталоге Resources/public/js моего пакета, через мой ide и через шпатлевку.

ОБНОВЛЕНИЕ №2:

По совету lee in #symfony попробовал перенаправить в мой каталог js в браузере и вуаля! только два файла js, которые все время правильно обслуживались, - больше ничего.

Итак... /www/src/ONN/BrunBundle/Resources/public/js показывает мне все js-файлы, которые я пытаюсь обслуживать, когда я смотрю на них через шпатлевку, через мой ide или через любую случайную программу ftp; однако /web/bundles/onnbrun/js/ в браузере показывает только два файла js, которые работают правильно.

Я запускал assets:dump и assets:dump --env=prod --no-debug без ошибок.

Я запустил cache:clear.

Я не знаю, что может быть причиной несоответствия.


person Margaret    schedule 27.01.2013    source источник
comment
Что за сообщение об ошибке?   -  person Maerlyn    schedule 27.01.2013
comment
попробуй очистить кэш и потом еще раз   -  person Mirage    schedule 27.01.2013
comment
Вы их всех бросили? app/console assetic:dump   -  person Vitalii Zurian    schedule 27.01.2013
comment
когда я делаю дамп, я получаю [ошибка] Исходный файл /home/brun/www/app/../web/bundles/onnbrun/js/jquery-1.8.0.min.js не существует. но я вижу файл в каталоге.   -  person Margaret    schedule 27.01.2013


Ответы (1)


случай 1)

ваши файлы хранятся в пакете

Если это так, используйте код ниже

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

случай 2)

Ваши файлы хранятся в вашем корневом веб-каталоге в каталоге js (не в каталоге пакета)

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

Последний шаг

скинь свой файл

php app/console assetic:dump --env=prod --no-debug
person Julien Rollin    schedule 27.01.2013
comment
При использовании синтаксиса @Bundle изменений практически нет. Очевидно, что в дампе не возникает ошибка, если я использую --no-debug, но если я просто запускаю php app/console assets:dump, он говорит: [RuntimeException] Исходный файл /home/brun/www/app/../web /bundles/onnbrun/js/jquery-1.8.0. min.js не существует. И попытка перейти к шаблону в браузере выдает ошибку: При компиляции шаблона возникло исключение (Невозможно найти файл @ONNBrunBundle/js/jquery-1.8.0.min.js.) в ONNBrunBundle:: веб.html.twig - person Margaret; 29.01.2013
comment
Мне нужно было запускать php app/console cache:clear между каждой попыткой устранения неполадок - это, вероятно, половина моей проблемы. Когда я использую синтаксис @Bundle, очистите кеш, а затем попробуйте php app/console assets:dump, он работает чисто, но затем я все равно получаю ошибку «Невозможно найти файл» при попытке перейти к шаблону в браузере. Почему? - person Margaret; 29.01.2013
comment
Два рабочих файла были отвлекающим маневром; на самом деле они не обслуживались активиком, они были подключены вручную несколько месяцев назад. все переделал, теперь работает прекрасно. - person Margaret; 29.01.2013
comment
отлично, обязательно скидывайте ассеты на prod, на dev не нужно (по умолчанию) - person Julien Rollin; 30.01.2013
comment
Ваше объяснение в обоих случаях было именно тем, что я искал. Спасибо! - person Manatax; 01.02.2015