## Содержание - [Регистрация ресурсов](#registering-assets) - [Включение ресурса на страницу](#dumping-assets) - [Зависимости ресурсов](#asset-dependencies) - [Контейнеры ресурсов](#asset-containers) - [Пакеты ресурсов](#bundle-assets) ## Регистрация ресурсов Класс **Asset** предоставляет простой путь к управлению использования CSS и JavaScript в вашем приложении. Для подключения необходимого ресурса просто вызовите метод **add** класса **Asset**. #### Регистрация ресурса: Asset::add('jquery', 'js/jquery.js'); Метод **add** принимает три параметра. Первый - это имя ресурса, второй - путь к ресурсу относительно директории **public**, третий параметр представляет собой список зависимостей ресурса (мы вернемся к этому позднее). Заметьте, что нет необходимости указывать методу тип регистрируемого ресурса. Метод **add** использует раширение файла для регистрации. ## Вставка ресурса Когда вы готовы поключить зарегистрированный ресурс в представление, просто используйте методы **styles** или **scripts**: #### Вставка ресурса в представление: ## Зависимости ресурсов Иногда может понадобиться установить зависимости ресурсов, т.е. порядок включения их на страницу. Такое имеет место, когда какой-то javascript не может быть загружен раньше другого, то же самое может быть и с css стилями. И здесь нет ничего проще в Laravel! Вы просто указываете третий параметр в **add** методе для объявления зависимости: #### Регистрация пакета, имеющего зависимости: Asset::add('jquery-ui', 'js/jquery-ui.js', 'jquery'); В этом примере, вы определяете **jquery-ui** ресурс, который зависит от ресурса **jquery**. Теперь, при вставке на страницу, ресурс **jquery** будет всегда объявлен раньше **jquery-ui**, что позволит избежать ошибок. Все это хорошо, но что делать, если есть целая цепочка зависимостей? как их зарегистрировать? Да нет проблем: #### Регистрация ресурса с множественными зависимостями: Asset::add('jquery-ui', 'js/jquery-ui.js', array('first', 'second')); ## Контейнеры ресурсов Для улучшения отклика, обычно JavaScript размещают в конце HTML документа. Но что делать, если некотрые ресурсы необходимо разместить наверху документа? Нет проблем. Класс ресурсов предоставляет простое решение по управлению **containers** (контейнерами). Просто вызовите метод **container** класса *Asset* и укажите имя контейнера. Имея экземпляр контейнера, вы свободны в выборе любых ресурсов, которые вы захотите использовать в нем: #### Получение экземпляра контейнера ресурсов: Asset::container('footer')->add('example', 'js/example.js'); #### Вставка на страницу ресурсов данного контейнера: echo Asset::container('footer')->scripts(); ## Пакеты (бандлы) ресурсов Перед изучением как удобно добавлять и вставлять на страницу бандлы ресурсов, вам потребуется прочитать документацию [создание и публикация пакетов ресурсов](/docs/v3/bundles#bundle-assets). При регистрации ресурсов, путь к последним обычно указыватся относитель папки **public**. Тем не менее, это не всегда удобно, когда пакеты ресурсов расположены в директории **public/bundles** и принадлежат какому-то бандлу. Но мы помним, что Laravel облегчает нашу жизнь. Таким образом, просто укажите, из какого бандла брать ресурс. #### Указание бандла, ресурс которого мы хотим использовать: Asset::container('foo')->bundle('admin'); Теперь, когда вы добавляете ресурс, вы можете использовать пути относительно **bundle** директории. Laravel автоматически сгенерирует корректные полные пути.