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