Closed just-boris closed 9 years ago
ym
не занимается загрузкой модулей, он выполняет только функцию разрешения зависимостей.
@dfilatov я правильно понимаю, что эта модульная система используется в Яндекс-картах? Например, этот метод из API карт вызывает загрузку скрипта. Как это может быть? Здесь на github лежит не полная версия?
Да, апи Яндекс.Карт использует эту модульную систему (правда с оберткой в промисы). Модуль сам может загружать себя с помощью другого модуля-загрузчика. Например:
modules.define(
'ymaps',
['loader', 'config'],
function(provide, loader, config) {
loader(config.ymaps.url, function() {
ymaps.ready(function() {
provide(ymaps);
});
});
});
modules.require('ymaps', function(ymaps) {
new ymaps.Map('map', {
center : [55.72, 37.64],
zoom : 5
});
});
loader
— это обычный модуль, который загружает внешний js.
Require JS имеет опцию baseUrl, с помощью которой я могу указать, в каком месте находятся мои подмодули. Как указать это в
ym
, чтобы все подмодули грузились из правильной папки?