Tengo una aplicación de navegador personalizada que carga algunos módulos Dojo AMD con una llamada require , y estoy tratando de crear una compilación Dojo personalizada para eliminar la sobrecarga de cargar varios archivos JS con cada carga de página.
El código de mi aplicación no es AMD. Llama a require en código de nivel global tan pronto como el navegador carga mi archivo JS. Esto funciona bien en desarrollo, y quiero evitar cambiarlo a AMD si es posible.
Con este fin, quiero una compilación que combine mis módulos Dojo requeridos y el código de mi aplicación en un archivo JS minimizado, pero con el código de mi aplicación a nivel global (no envuelto de ninguna manera) para que funcione tal cual.
Tengo el siguiente archivo profile.js para mi compilación. Esto casi hace lo que quiero, pero envuelve el código de mi aplicación en una función que evita que funcione. ¿Cómo le digo al proceso de compilación que no envuelva el código de mi aplicación?
Actualmente estoy usando Dojo 1.10.10, pero podría actualizarlo si ayudara.
var profile = (function(){ var dojoBase='../../dojo-release-1.10.10-src/'; return { basePath: './src', releaseDir: '../release', releaseName: 'main', action: 'release', cssOptimize:'comments', mini:true, stripConsole:'none', selectorEngine:'acme', packages:[{ name: 'dojo', location: dojoBase+'dojo' },{ name: 'dijit', location: dojoBase+'dijit' },{ name: 'dojox', location: dojoBase+'dojox' },{ name: 'app', location: '.', }], layers:{ 'main.min':{ include:['dojo/dojo','dojo/on','dojo/request/xhr','dojo/parser','dojo/query','dojo/dom-construct', 'dojo/dom-class','dojo/NodeList-dom','dojo/domReady','dijit/registry','dojox/widget/Toaster', 'app/main'], customBase:true, boot:true } } }; })();