Я пытаюсь использовать RequireJS для загрузки модулей браузера, и у меня возникла интересная проблема.
У меня есть 3 модуля с именами a
, b
и c
, имеющиеэто простой исходный код:
a.js
define(['./b', './c'], function(c, b) {
console.log('A IS LOADED!');
return 'A';
});
b.js
define(function() {
console.log('B IS LOADED!');
return 'B';
});
c.js
define(function() {
console.log('C IS LOADED!');
return 'C';
});
Когда я загружаю модуль a
сам по себе, все работает нормально, следующий код запускается и возвращает 'A':
require(['./a'], function(a) {
console.log(a); // 'A'
});
Но если мне нужны два разных модуля, один из которых уже был загружен:
require(['./a', './c'], function(a, c) {
console.log(a, c);
});
RequireJS выдаст ошибку:
C IS LOADED!
B IS LOADED!
require.js load timeout for modules: ./c
, когда он, очевидно, уже загружен.
Кто-нибудь сталкивался с этой проблемой раньше?Как я могу решить это?