Как сделать откат ко всей папке в requireJS
Я понял, как я могу настроить в requireJS запасной вариант для одного файла, например так:
var skin = "christmas";
requirejs.config({
paths: {
languagesLocal : [
BaseUrl + skin + '/js/languagesLocal',
BaseUrl + "default" + '/js/languagesLocal'
]
}
});
так что в случае, если не будет "рождественского" скина, я получаю сценарий по умолчанию.
Теперь - мой вопрос - Как мне сделать полную папку резервной? поэтому, если один файл не существует в папке скина, он будет иметь запасной вариант в другой папке. Мне нужно, чтобы каждый файл был проверен, если он существует, и если нет, он должен иметь запасной вариант в папке по умолчанию
Я пытался сделать это с baseUrl
:
var skin = "christmas";
requirejs.config({
baseUrl: [
BaseUrl + skin + '/js/',
BaseUrl + 'default' + '/js/'
],
});
но он терпит неудачу и отображает baseUrl в виде одного огромного URL в сочетании с 2 строками.
1 ответ
Изменить: я неправильно истолковал ваш вопрос. Я знаю, что это возможно для отдельных модулей:
http://requirejs.org/docs/api.html
С помощью этой техники вы можете создать модуль, который будет проверять существование каждого модуля:
loader.js
define(['a', 'b'], function(a, b) {},
function(err) {
if (err.requireModules) {
for(var i = 0; i < err.requireModules.length; i++) {
requirejs.undef(requireModules[i]);
requirejs.config({
baseUrl: BaseUrl + 'default' + '/js/'
});
require([requireModules[i]], function () {});
}
}
});