2016-03-22 6 views
0

Я немного новичок в Symfony, и я не знаю, что использовать для моего статического управления файлами. Я прочитал о компоненте Активы и комплекте Assetics.Что использовать Assets vs Assetics в Symfony?

Я знаю, что активы просто включают в себя файлы, а Assetics немного умнее, так как он может комбинировать файлы и сжимать изображения. Но я уже использую компас для минимизации и комбинирования файлов css, поэтому Assetics на самом деле не требуется.

Контроль версий, чтобы URL-адрес статических файлов изменялся в кэше браузера, выполняется обоими.

Assetics удален с 2.8 или выше, означает ли это, что это не лучшая практика?

Мне нужно создать URLs на трех местах:

  • Twig -> Легко сделать как с
  • Controller -> Найдено только способ сделать это с активами
  • В CSS-файлов -> Поверьте, что с обоими не возможно

Ват был бы лучшим в моем случае, посоветуете?

ответ

1

Assetic можно рассматривать как способ легко применять фильтры и собирать ваши активы. Компонент активов в основном используется для управления формированием URL-адресов. Как вы сказали, оба прекрасно интегрированы в Twig через расширения и контроллеры через службы.

Наше приложение также использует компас, но Assetic гарантирует, что компиляция произойдет в нужный момент без необходимости compass watch в командной строке.

Подумайте большинство вопросов отвечают на:

http://symfony.com/doc/current/cookbook/assetic/asset_management.html

и

http://symfony.com/doc/current/components/asset/introduction.html

0

Я использую RjFrontendBundle запустить передний конец CSS/JS строить, а также скопировать другой статический контент на место от Bower/NPM/местных источников. Он предоставляет VersionStrategyInterface для компонента «Активы», который создает и использует уникальные имена файлов в процессе производства (переименование файлов со встроенным хэшем через пакет обновления GulpJS rev-all). В dev он использует обычное имя файла.

В CSS-файлах вы все равно можете ссылаться на CSS/JS через функцию url(), и конвейер переименует их соответствующим образом в dev и live.

Инструмент построения GulpJS используется для минимизации и в противном случае подготовки простых файлов. Он поставляется с консольной командой setup для создания начального gulpfile.js, а также может просматривать и восстанавливать файлы, обновлять браузер по мере их изменения, что помогает при работе с интерфейсом разработки.

0

Тенденция заключается в использовании автономных передних инструментов, таких как gulp/grunt/sass, а не assetic.Причинами являются (вероятно) следующие:

  • gulp/grunt не зависят от рамки, обеспечивая тот же рабочий процесс для парня переднего конца, независимо от того, какая базовая структура используется для бэкэнд.
  • У assetic есть другой рабочий процесс, чем большинство современных инструментов. Предполагается, что вы будете писать свой скрипт/css, включенный в шаблоны. Миграция от азбуки к глотку может быть болью для большого проекта.
  • по мере роста вашего проекта, аксессуар может стать своего рода медленным ... Как это происходит, вы прекратите вытягивать свои активы с контроллера и начнете генерировать их так, как это делает глоток или хрюканье. В этом случае gulp и grunt - просто лучшие инструменты.
  • Учет не содержит некоторых важных функций, таких как включение обработанных активов в HTML-код (встроенный). Из-за того, как делаются атлетические работы (твиг-теги), это может быть трудно преодолеть.

Что касается создания URL-адресов: активы - это всего лишь файлы в файловой системе. Напишите функцию или расширение ветки, чтобы создавать URL-адреса этих файлов.