EN RU
Форум

Методология

Технологии

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

Библиотеки

Учебные материалы

DocumentationJSDocSource

loader

Блок loader служит для загрузки и подключения скриптов по URL.

Обзор

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

Модификатор Допустимые значения Способы использования Описание
type 'js', 'bundle' JS Позволяет по URL получить и подключить JS-код или бандл.

Функции, подключаемые модификаторами блока

Модификатор Функция Возвращаемое значение Описание
js loader(
{String} id,
{String} url,
[{Function} success],
[{Function} error])
- Загружает и подключает фрагмент JavaScript-кода.
bundle loader(
{String} url,
{Function} success,
[{Function} error])
- Загружает и подключает пакет, собранный из CSS и JS-файлов – «бандл».

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

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

  • js

Подробности

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

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

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

Допустимые значения: 'js', 'bundle'.

Способ использования: JS.

В зависимости от значения модификатора type блок loader позволяет получить по URL и подключить:

  • js – фрагмент JS-кода.
  • bundle – пакет, собранный из CSS и JS-файлов – «бандл».

Модификатор type в значении js

Предоставляет функцию, позволяющую загрузить и подключить фрагмент JS-кода.

Принимаемые аргументы:

  • {String} url – URL загружаемого фрагмента JS-кода. Обязательный аргумент.
  • [{Function} success] – callback-функция, выполняемая по завершению загрузки кода.
  • [{Function} error] – 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-файлов – «бандл».

Принимаемые аргументы:

  • {String} id – идентификатор бандла. Обязательный аргумент.
  • {String} url – путь до файла бандла в формате URL. Обязательный аргумент.
  • {Function} onSuccess – callback, вызываемая по завершению загрузки бандла. Обязательный аргумент.
  • [{Function} onError] – callback, вызываемая при неудачной загрузке бандла.

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

Спецификации технологии bundle находятся в процессе разработки. Для получения детальной информации пишите на форум.

Статический метод _loaded

Функция, подключаемая с модификатором type_bundle, обладает статическим методом – _loaded. Он используется как вспомогательный после успешной загрузки бандла.

Принимаемые аргументы:

  • {String} id – идентификатор бандла. Обязательный аргумент.

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

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