1
我希望創建一個將理想看起來像這樣一個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。如果存在,請將其退回。如果不是......
擲
這個問題似乎是請求不存在從req
拋出文件中的錯誤是異步,所以不能以這種方式被抓。
對於完成這種功能的任何建議?
我找到了requirejs fallbacks,但那些只適用於您的需要配置中定義的路徑。我想要一個標準的需求調用完全相同類型的功能。
我也發現require.defined
和,但似乎只對通過require.config定義的模塊或試圖加載給定模塊後才起作用。
這是完美的。不知道errback存在。謝謝! – 2014-10-29 02:24:29
如果文件不存在,這仍然會引發錯誤 – vher2 2015-07-30 12:15:37