Форум

Методология

Инструментарий

Платформа

Сообщество

desktop
touch-pad
touch-phone

loader

Блок 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-файлов – «бандл».

Публичные технологии блока

Блок реализован в технологиях:

  • js

Описание

Модификаторы блока

Модификатор type

Предоставляет набор функций для загрузки и подключение различных типов данных.

Допустимые значения: '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} – идентификатор бандла. Обязательный аргумент.

Не имеет возвращаемого значения.

loader_type_bundle

Load BEM bundle (JS+CSS) from external URL.
Loads bundle
parameters
id
String
url
String
onSuccess
Function
onError
Function

loader_type_js

Load JS from external URL.
parameters
path
String
resource link
success
Function
to be called if the script succeeds
error
Function
to be called if the script fails