Soy nuevo en RequireJS y estoy atascado con la orden de carga.Carga de archivos en orden específico con RequireJs
Tengo una configuración de proyecto global que necesito cargar antes que los módulos ubicados en js/app/*.
Aquí es mi struture:
index.html
config.js
js/
require.js
app/
login.js
lib/
bootstrap-2.0.4.min.js
Aquí está el archivo config.js:
var Project = {
'server': {
'host': '127.0.0.1',
'port': 8080
},
'history': 10, // Number of query kept in the local storage history
'lang': 'en', // For future use
};
Y aquí está mi archivo RequireJS (app.js):
requirejs.config({
//By default load any module IDs from js/lib
baseUrl: 'js/lib',
//except, if the module ID starts with "app",
//load it from the js/app directory. paths
//config is relative to the baseUrl, and
//never includes a ".js" extension since
//the paths config could be for a directory.
paths: {
bootstrap: '../lib/bootstrap-2.0.4.min',
app: '../app',
},
shim: {
'app': {
deps: ['../../config'],
exports: function (a) {
console.log ('loaded!');
console.log (a);
}
} // Skual Config
},
});
var modules = [];
modules.push('jquery');
modules.push('bootstrap');
modules.push('app/login');
// Start the main app logic.
requirejs(modules, function ($) {});
pero a veces , cuando cargo la página, tengo un "Proyecto" indefinido, porque login.js se ha cargado ANTES de config.js.
¿Cómo puedo forzar que Config.js se cargue al principio, no importa qué?
Nota: vi order.js como un complemento para RequireJS pero aparentemente no es compatible desde la versión 2, reemplazado por shim
.
Gracias por su ayuda!
De acuerdo. ¡Solo necesitaba lograr esto temporalmente durante el proceso de desarrollo y era lo suficientemente bueno! –
Incluso puede poner los códigos anteriores en _requirejs-config.js_ para cargar en orden. – Sunry