[483] | 1 | define([ |
---|
| 2 | "./_base/kernel", // kernel.isAsync |
---|
| 3 | "./has", |
---|
| 4 | "require", |
---|
| 5 | "./sniff", |
---|
| 6 | "./_base/lang", |
---|
| 7 | "./_base/array", |
---|
| 8 | "./_base/config", |
---|
| 9 | "./ready", |
---|
| 10 | "./_base/declare", |
---|
| 11 | "./_base/connect", |
---|
| 12 | "./_base/Deferred", |
---|
| 13 | "./_base/json", |
---|
| 14 | "./_base/Color", |
---|
| 15 | "./has!dojo-firebug?./_firebug/firebug", |
---|
| 16 | "./has!host-browser?./_base/browser", |
---|
| 17 | "./has!dojo-sync-loader?./_base/loader" |
---|
| 18 | ], function(kernel, has, require, sniff, lang, array, config, ready){ |
---|
| 19 | // module: |
---|
| 20 | // dojo/main |
---|
| 21 | // summary: |
---|
| 22 | // This is the package main module for the dojo package; it loads dojo base appropriate for the execution environment. |
---|
| 23 | |
---|
| 24 | // the preferred way to load the dojo firebug console is by setting has("dojo-firebug") true in dojoConfig |
---|
| 25 | // the isDebug config switch is for backcompat and will work fine in sync loading mode; it works in |
---|
| 26 | // async mode too, but there's no guarantee when the module is loaded; therefore, if you need a firebug |
---|
| 27 | // console guaranteed at a particular spot in an app, either set config.has["dojo-firebug"] true before |
---|
| 28 | // loading dojo.js or explicitly include dojo/_firebug/firebug in a dependency list. |
---|
| 29 | if(config.isDebug){ |
---|
| 30 | require(["./_firebug/firebug"]); |
---|
| 31 | } |
---|
| 32 | |
---|
| 33 | // dojoConfig.require is deprecated; use the loader configuration property deps |
---|
| 34 | has.add("dojo-config-require", 1); |
---|
| 35 | if(has("dojo-config-require")){ |
---|
| 36 | var deps= config.require; |
---|
| 37 | if(deps){ |
---|
| 38 | // config.require may be dot notation |
---|
| 39 | deps= array.map(lang.isArray(deps) ? deps : [deps], function(item){ return item.replace(/\./g, "/"); }); |
---|
| 40 | if(kernel.isAsync){ |
---|
| 41 | require(deps); |
---|
| 42 | }else{ |
---|
| 43 | // this is a bit janky; in 1.6- dojo is defined before these requires are applied; but in 1.7+ |
---|
| 44 | // dojo isn't defined until returning from this module; this is only a problem in sync mode |
---|
| 45 | // since we're in sync mode, we know we've got our loader with its priority ready queue |
---|
| 46 | ready(1, function(){require(deps);}); |
---|
| 47 | } |
---|
| 48 | } |
---|
| 49 | } |
---|
| 50 | |
---|
| 51 | return kernel; |
---|
| 52 | }); |
---|