Merge pull request #1403 from ajaxorg/mini_require
compatibility with architect-build
This commit is contained in:
commit
60f49118c0
3 changed files with 37 additions and 36 deletions
|
|
@ -417,9 +417,7 @@ var buildAce = function(options) {
|
|||
source: [{
|
||||
project: workerProject,
|
||||
require: [
|
||||
'ace/lib/fixoldbrowsers',
|
||||
'ace/lib/event_emitter',
|
||||
'ace/lib/oop',
|
||||
'ace/worker/worker',
|
||||
'ace/mode/' + mode + '_worker'
|
||||
]
|
||||
}],
|
||||
|
|
@ -428,7 +426,6 @@ var buildAce = function(options) {
|
|||
});
|
||||
copy({
|
||||
source: [
|
||||
ACE_HOME + "/lib/ace/worker/worker.js",
|
||||
worker
|
||||
],
|
||||
filter: options.compress ? [copy.filter.uglifyjs] : [],
|
||||
|
|
|
|||
|
|
@ -61,10 +61,13 @@ var _define = function(module, deps, payload) {
|
|||
if (arguments.length == 2)
|
||||
payload = deps;
|
||||
|
||||
if (!_define.modules)
|
||||
_define.modules = {};
|
||||
|
||||
_define.modules[module] = payload;
|
||||
if (!_define.modules) {
|
||||
_define.modules = Object.create(null);
|
||||
_define.payloads = Object.create(null);
|
||||
}
|
||||
|
||||
_define.payloads[module] = payload;
|
||||
_define.modules[module] = null;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -130,30 +133,27 @@ var lookup = function(parentId, moduleName) {
|
|||
|
||||
var module = _define.modules[moduleName];
|
||||
if (!module) {
|
||||
return null;
|
||||
module = _define.payloads[moduleName];
|
||||
if (typeof module === 'function') {
|
||||
var exports = {};
|
||||
var mod = {
|
||||
id: moduleName,
|
||||
uri: '',
|
||||
exports: exports,
|
||||
packaged: true
|
||||
};
|
||||
|
||||
var req = function(module, callback) {
|
||||
return _require(moduleName, module, callback);
|
||||
};
|
||||
|
||||
var returnValue = module(req, exports, mod);
|
||||
exports = returnValue || mod.exports;
|
||||
_define.modules[moduleName] = exports;
|
||||
delete _define.payloads[moduleName];
|
||||
}
|
||||
module = _define.modules[moduleName] = exports;
|
||||
}
|
||||
|
||||
if (typeof module === 'function') {
|
||||
var exports = {};
|
||||
var mod = {
|
||||
id: moduleName,
|
||||
uri: '',
|
||||
exports: exports,
|
||||
packaged: true
|
||||
};
|
||||
|
||||
var req = function(module, callback) {
|
||||
return _require(moduleName, module, callback);
|
||||
};
|
||||
|
||||
var returnValue = module(req, exports, mod);
|
||||
exports = returnValue || mod.exports;
|
||||
|
||||
// cache the resulting module object for next time
|
||||
_define.modules[moduleName] = exports;
|
||||
return exports;
|
||||
}
|
||||
|
||||
return module;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,10 @@ window.normalizeModule = function(parentId, moduleName) {
|
|||
};
|
||||
|
||||
window.require = function(parentId, id) {
|
||||
if (!id) {
|
||||
id = parentId
|
||||
parentId = null;
|
||||
}
|
||||
if (!id.charAt)
|
||||
throw new Error("worker.js require() accepts only (parentId, id) as arguments");
|
||||
|
||||
|
|
@ -58,7 +62,7 @@ window.require = function(parentId, id) {
|
|||
|
||||
require.id = id;
|
||||
importScripts(path);
|
||||
return require(parentId, id);
|
||||
return require(parentId, id);
|
||||
};
|
||||
|
||||
require.modules = {};
|
||||
|
|
@ -102,8 +106,8 @@ window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
|
|||
|
||||
window.initSender = function initSender() {
|
||||
|
||||
var EventEmitter = require(null, "ace/lib/event_emitter").EventEmitter;
|
||||
var oop = require(null, "ace/lib/oop");
|
||||
var EventEmitter = require("ace/lib/event_emitter").EventEmitter;
|
||||
var oop = require("ace/lib/oop");
|
||||
|
||||
var Sender = function() {};
|
||||
|
||||
|
|
@ -145,9 +149,9 @@ window.onmessage = function(e) {
|
|||
}
|
||||
else if (msg.init) {
|
||||
initBaseUrls(msg.tlns);
|
||||
require(null, "ace/lib/fixoldbrowsers");
|
||||
require("ace/lib/es5-shim");
|
||||
sender = initSender();
|
||||
var clazz = require(null, msg.module)[msg.classname];
|
||||
var clazz = require(msg.module)[msg.classname];
|
||||
main = new clazz(sender);
|
||||
}
|
||||
else if (msg.event && sender) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue