Charger des fichiers dans un ordre spécifique, avec RequireJs

Je suis nouveau sur RequireJS et je suis coincé avec l'ordre de chargement.

J'ai un projet global de la configuration que j'ai besoin d'être chargé avant les modules situés en js/app/*.

Voici mon struture :

index.html
config.js
js/
    require.js
    app/
        login.js
    lib/
        bootstrap-2.0.4.min.js

Voici l'config.js fichier :

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
};

Et voici mon requirejs fichier (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 ($) {});

Mais quelques fois, lorsque je charge la page, j'ai un "Projet" n'est pas défini, car login.js a été chargé AVANT config.js.

Comment puis-je la force config.js pour être chargé au premier abord, n'importe quoi ?

Remarque: j'ai vu order.js en tant que plugin pour RequireJS, mais c'est apparemment pas pris en charge depuis la v2, remplacé par shim.

Merci pour votre aide!

InformationsquelleAutor Cyril N. | 2012-07-20