Я использую Symfony2 и сборку Bundle. (проблема при использовании знака *, чтобы попросить сборщик принять все файлы)
Форма, которую я прочитал здесь и там, позволяет использовать несколько файлов javascript.
Это прекрасно работает, когда я пишу все файлы прямо перед <тег / html>:
{% javascripts
'@MySiteBlogBundle/Resources/public/js/test1.js'
'@MySiteBlogBundle/Resources/public/js/test2.js'
'@MySiteBlogBundle/Resources/public/js/test3.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
но тот же код не работает, если вместо перечисления файла я использую * (просто так 🙂
{% javascripts
'@MySiteBlogBundle/Resources/public/js/*'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
с * он работает только в зависимости от отображаемых страниц. Я сделал все мои тесты javascipt на классе, которые находятся на моем основном шаблоне ветки. И эти классы отображаются на всех страницах … Так что все тесты должны работать.
У кого-нибудь когда-нибудь возникала такая проблема при использовании этого * знака с сборкой?
Спасибо за любой комментарий / помощь.
Ранее я заметил только две проблемы со сборкой.
Во-первых, в производственном режиме вы должны сбросить их (сборка php app / console: dump —env = prod) перед использованием. Хорошо, это не проблема, но вы не должны забывать это.
Во-вторых, если вы используете знак * для загрузки всех скриптов JavaScript, порядок ваших скриптов будет алфавитным, и это может нарушить некоторые зависимости между файлами скриптов. По этой причине я обычно не использую знак *.
После нескольких часов с той же проблемой, я понял, что вам нужно:
создать символические ссылки (А.К.А. симлинки) или скопируйте ваши пакеты командой:
Ресурсы bin / console: установить
или же
Ресурсы bin / console: установить —symlink
в ваших определениях используйте bundles/mysiteblog/js/*
скорее, чем @MySiteBlogBundle/Resources/public/js/*
(вы увидите путь к вашему пакету в WEB-каталоге после шага 1.