in zh/builder/lib/esl.js [305:352]
function globalDefine(id, dependencies, factory) {
// define(factory)
// define(dependencies, factory)
// define(id, factory)
// define(id, dependencies, factory)
if (factory == null) {
if (dependencies == null) {
factory = id;
id = null;
}
else {
factory = dependencies;
dependencies = null;
if (id instanceof Array) {
dependencies = id;
id = null;
}
}
}
if (factory == null) {
return;
}
var opera = window.opera;
// IE下通过current script的data-require-id获取当前id
if (
!id
&& document.attachEvent
&& (!(opera && opera.toString() === '[object Opera]'))
) {
var currentScript = getCurrentScript();
id = currentScript && currentScript.getAttribute('data-require-id');
}
if (id) {
modPreDefine(id, dependencies, factory);
}
else {
// 纪录到共享变量中,在load或readystatechange中处理
// 标准浏览器下,使用匿名define时,将进入这个分支
wait4PreDefine[0] = {
deps: dependencies,
factory: factory
};
}
}