Я хочу создать расширение requirejs, что бы идеально выглядеть примерно так:RequireJS Откат или проверки файла существования
var versions = ['one', 'two', 'three'];
define({
load: function (name, req, onload, config) {
var load = function (version) {
try {
req([name + '.' + versions[version]], function (value) {
onload(value);
});
} catch(ex) {
if (version === versions.length - 1)
throw err;
load(version + 1);
}
};
load(0);
});
});
В принципе, я хочу сделать это:
require(['plugin!my/file'], function (dep) {
});
И за кулисами логика должна быть:
Проверьте мой/file.one.js. Если он существует, верните его. Если нет ...
Проверьте наличие у меня/file.two.js. Если он существует, верните его. Если нет ...
Проверьте наличие у меня/file.three.js. Если он существует, верните его. Если нет ...
Throw
Проблемы, кажется, что ошибки для запроса файлов, которые не существуют, брошенные из req
являются асинхронными, так что не могут быть пойманы на этом пути.
Какие-либо рекомендации по выполнению такого рода функций?
Я нашел requirejs fallbacks, но они работают только для путей, определенных в вашем запросе. Я хочу, чтобы тот же самый тип функциональности для стандартного требовал вызова.
Я также нашел и , но опять же, похоже, работает только на модули, определенные через require.config или после попытки загрузить данный модуль.
Это идеальное решение. Не знал, что существует ошибка. Благодаря! –
Это все еще вызывает ошибку, если файл не существует – vher2