Мне нужно несколько советов о том, как работать с активами в Symfony 2. Например, нужно ли всегда выполнять активы: обновлять каждый раз при добавлении изображения? Я знаю, что Assetic заботится об управлении файлами css и javascript, но как насчет изображений? Какова была бы лучшая практика для front-end разработки с Symfony 2? Как вы, ребята, настраиваете свои css, изображения и js-файлы в своем приложении, чтобы упростить разработку, развертывание и изменение?Symfony 2 - Работа с активами
ответ
Что касается изображений, если вы добавили его в общую папку, я думаю, нет необходимости выполнять assets:update
Однако, если добавить изображение в пределах ресурсов папки пачки, возможно, придется, в зависимости от вашей ОС и какие параметры вы использовали при вызове assets:install
Если вы используете ОС, которая поддерживает символические ссылки (Linux, OS X, и я думаю, что все ОС, кроме Windows), вы можете установить вызов активов (я не точно помните звонок, здесь важна опция символической ссылки):
php app/console assets:install web --symlink
Таким образом, вместо того, чтобы иметь копию ресурсов каждого пакета, у вас будет символическая ссылка, поэтому обновление не должно быть необходимости. Если у вас есть ОС, которая не поддерживает символические ссылки, я думаю, вам придется постоянно обновлять или переустанавливать активы (фактически, я всегда использовал assets:install
, я не знал, что существует опция обновления: P).
Что касается настройки, я обычно размещаю все css, js, изображения и любые общедоступные ресурсы внутри пакета, если он используется только внутри пакета и помещает его в общую папку, если он используется многими пакетами, или я планируете использовать его в других пакетах.
Символ-ссылка также работает на Windows – DoubleYo
Кроме того, если вы используете Composer для обновления пакетов вашего поставщика, не забудьте установить «extra»: {«symfony-assets-install»: «symlink»} 'в вашем файле composer.json ([см. Документы ] (http://symfony.com/doc/current/book/installation.html#updating-vendors)). – Geert
Символ-ссылка также работает в Windows при запуске cmd (или git bash) в режиме администратора. :) потому что Assetic работает с http://php.net/manual/en/function.symlink.php, который поддерживается в Windows. – Athlan
По Symfony 2.7 это будет генерировать относительные символьные ссылки в web
каталоге:
php app/console assets:install web --symlink --relative
В composer.json оных:
"extra": {
"symfony-assets-install": "relative"
}
Это также будет генерировать относительные символьные ссылки на composer update
.
Здесь прохладно думать о --symlink.You можно настроить (конфигурацию) один раз и использовать forever.If вы хотите больше http://www.w3docs.com/snippets/symfony/how-to-keep-symlinks-in-web-bundles-after-composer-update.html
является 'активов: update' реальной команды? Я не нашел его упомянутым где-либо еще и не могу найти его в Symfony/Assetic codebase. Если это действительно существует, мне было бы интересно узнать об этом больше. – Sam
Связанный: http://stackoverflow.com/questions/12123069/how-to-properly-change-what-composer-or-symfony2-does-after-running-composer-up – Kzqai