我不确定如何处理来自RequireJS的外部依赖关系的404。我在下面列出了我的require.js文件样本:
requirejs.config({
paths: {
jquery: '/js/jquery-2.1.0.min',
script1: 'http://s3.amazonaws.com/script1.min',
script2: 'http://s3.amazonaws.com/script2.min',
},
shim: {
script1: {
deps:['jquery'],
exports: 'script1'
},
script2: {
deps:['script1'],
exports: 'script2'
}
}
});
requirejs([
'script1',
'script2'
]);
我希望能够在没有Script Error
的情况下处理外部依赖关闭或不可用。在这种情况下,Script Error
是正确的行为吗?我想在404的情况下必须有一种不包含脚本的方法。
答案 0 :(得分:1)
require可以为错误回调采用其他参数,如下所示:
require(['script1', 'script2'], function (a, b) {
// Normal execution
}, function (err) {
// Error, such as a 404.
});
如果您愿意,可以分别加载每个依赖项,因此如果脚本1或脚本2 404s,您可以执行自定义错误处理。
require([], function () {
require(['script1'], function (a) {
// Do stuff with a
}, function (err) { });
require(['script2'], function (b) {
// Do stuff with b
}, function (err) { });
});