Handle RequireJs errors
by NesterOne
HTML
<script src="http://requirejs.org/docs/release/2.1.14/comments/require.js"></script>
JavaScript
var req = requirejs.config({
paths: {
"foo": "http://localhost:8000/foo"
}
});
req(["foo"], function (foo) {
if (!foo) {
console.log('No any FOO');
}else {
console.log(foo);
}
}, function (err) {
var failedId = err.requireModules && err.requireModules[0];
if (failedId === 'foo'){
console.log('Can\'t load \''+failedId+'\' module');
requirejs.undef(failedId);
//Set the path to FOO with dummy module
var prop = { paths : {} };
prop.paths[failedId] = "http://localhost:8000/null"
requirejs.config(prop);
requirejs([failedId], function(){
console.log('Loaded dummy for \'' +failedId +'\'');
});
}else {
throw err;
}
});