Подтвердить что ты не робот

Symfony 2 - Работа с активами

Мне нужно несколько советов о том, как работать с активами в Symfony 2. Например, нужно ли всегда выполнять активы: обновлять каждый раз при добавлении изображения? Я знаю, что Assetic заботится об управлении файлами css и javascript, но как насчет изображений? Какова была бы лучшая практика для front-end разработки с Symfony 2? Как вы, ребята, настраиваете свои css, изображения и js файлы в своем приложении, чтобы упростить разработку, развертывание и изменение?

4b9b3361

Ответ 1

Что касается изображений, если вы добавили их в свою общую папку, я думаю, что нет необходимости выполнять assets:update

Однако, если вы добавите изображение в папки ресурсов пакета, возможно, вам придется в зависимости от вашей ОС и каких параметров вы использовали при вызове assets:install

Если вы используете ОС, которая поддерживает символические ссылки (linux, OS X, и я предполагаю, что все ОС, кроме Windows), вы можете установить вызов активов (я точно не помню вызов, важная вещь здесь symlink):

php app/console assets:install web --symlink

Таким образом, вместо того, чтобы иметь копию каждого ресурса связки, у вас будет символическая ссылка, поэтому обновление не должно быть необходимости. Если у вас есть ОС, которая не поддерживает символические ссылки, я думаю, вам придется постоянно обновлять или переустанавливать активы (фактически, я всегда использовал assets:install, я не знал, что существует опция обновления: P).

Что касается настройки, я обычно помещаю все css, js, изображения и любые общедоступные ресурсы внутри пакета, если он используется только внутри пакета и помещает его в общую папку, если он используется многими пакетами, или я планирую использовать его в других пакетах.

Ответ 2

Начиная с Symfony 2.7, это приведет к созданию относительных символических ссылок в каталоге web:

php app/console assets:install web --symlink --relative

В composer.json добавьте:

"extra": {
    "symfony-assets-install": "relative"
}

Это также приведет к созданию относительных символических ссылок на composer update.