Блок loader служит для загрузки и подключения скриптов по URL.
| Модификатор | Допустимые значения | Способы использования | Описание |
|---|---|---|---|
| type | 'js', 'bundle' |
JS |
Позволяет по URL получить и подключить JS-код или бандл. |
| Модификатор | Функция | Возвращаемое значение | Описание |
|---|---|---|---|
| js | loader(id {String}, url {String}, [success {Function}], [error {Function}]) |
- | Загружает и подключает фрагмент JavaScript-кода. |
| bundle | loader(url {String}, success {Function}, [error {Function}]) |
- | Загружает и подключает пакет, собранный из CSS и JS-файлов – «бандл». |
Блок реализован в технологиях:
jstypeПредоставляет набор функций для загрузки и подключение различных типов данных.
Допустимые значения: 'js', 'bundle'.
Способ использования: JS.
В зависимости от значения модификатора type блок loader позволяет получить по URL и подключить:
js – фрагмент JS-кода.bundle – пакет, собранный из CSS и JS-файлов – «бандл».type в значении jsПредоставляет функцию, позволяющую загрузить и подключить фрагмент JS-кода.
Принимаемые аргументы:
url {String} – URL загружаемого фрагмента JS-кода. Обязательный аргумент.success {Function}] – callback-функция, выполняемая по завершению загрузки кода.error {Function}] – callback-функция, выполняемая при ошибке в ходе загрузки кода.Не имеет возвращаемого значения.
Например, loader_type_js может использоваться для загрузки и подключения jQuery:
modules.define('jquery', ['loader_type_js'], function(provide, loader) {
loader(
'https://yastatic.net/jquery/2.2.0/jquery.min.js',
function() { provide(jQuery) });
});
Расширенный пример смотрите в блоке common.blocks/jquery библиотеки bem-core.
type в значении bundleПредоставляет функцию, позволяющую загрузить и подключить пакет, собранный из CSS и JS-файлов – «бандл».
Принимаемые аргументы:
id {String} – идентификатор бандла. Обязательный аргумент.url {String} – путь до файла бандла в формате URL. Обязательный аргумент.onSuccess {Function} – callback, вызываемая по завершению загрузки бандла. Обязательный аргумент.onError {Function}] – callback, вызываемая при неудачной загрузке бандла.Не имеет возвращаемого значения.
Спецификации технологии bundle находятся в процессе разработки. Для получения детальной информации пишите на форум.
_loadedФункция, подключаемая с модификатором type_bundle, обладает статическим методом – _loaded. Он используется как вспомогательный после успешной загрузки бандла.
Принимаемые аргументы:
id {String} – идентификатор бандла. Обязательный аргумент.Не имеет возвращаемого значения.