No need to fallback to existing requireJS. Fix issue #198

This commit is contained in:
Fabian Jakobs 2011-05-16 13:41:01 +00:00
commit 72383f0e75

View file

@ -43,19 +43,16 @@
(function() { (function() {
// if we find an existing require function use it.
if (window.require) { if (window.require) {
require.packaged = true; require.packaged = true;
return; return;
} }
var _define = function(module, deps, payload) { window.define = function(module, deps, payload) {
if (typeof module !== 'string') { if (typeof module !== 'string') {
if (_define.original) console.error('dropping module because define wasn\'t a string.');
_define.original.apply(window, arguments); console.trace();
else {
console.error('dropping module because define wasn\'t a string.');
console.trace();
}
return; return;
} }
@ -67,22 +64,15 @@ var _define = function(module, deps, payload) {
define.modules[module] = payload; define.modules[module] = payload;
}; };
if (window.define)
_define.original = window.define;
window.define = _define;
/** /**
* Get at functionality define()ed using the function above * Get at functionality define()ed using the function above
*/ */
var _require = function(module, callback) { window.require = function(module, callback) {
if (Object.prototype.toString.call(module) === "[object Array]") { if (Object.prototype.toString.call(module) === "[object Array]") {
var params = []; var params = [];
for (var i = 0, l = module.length; i < l; ++i) { for (var i = 0, l = module.length; i < l; ++i) {
var dep = lookup(module[i]); var dep = lookup(module[i]);
if (!dep && _require.original)
return _require.original.apply(window, arguments);
params.push(dep); params.push(dep);
} }
if (callback) { if (callback) {
@ -91,8 +81,6 @@ var _require = function(module, callback) {
} }
else if (typeof module === 'string') { else if (typeof module === 'string') {
var payload = lookup(module); var payload = lookup(module);
if (!payload && _require.original)
return _require.original.apply(window, arguments);
if (callback) { if (callback) {
callback(); callback();
@ -100,16 +88,7 @@ var _require = function(module, callback) {
return payload; return payload;
} }
else {
if (_require.original)
return _require.original.apply(window, arguments);
}
}; };
if (window.require)
_require.original = window.require;
window.require = _require;
require.packaged = true; require.packaged = true;
/** /**