Exigence de l'ordre des dépendances

Si vous avez un module RequireJS comme tel:

define( [ '#patches', 'backbone', 'underscore', 'react', '#allCollections', '#allModels', 'app/js/routers/router', '#allTemplates', '#allControllers', '#allRelViews' ], function(){ var patches = arguments[0]; }); 

Est-il possible de savoir quelle dépendance est chargée en premier? Dans mon cas, '#patches' est quelques fonctions d'utilitaire window.X que je veux charger avant toute autre chose. Dois-je configurer cela de manière différente pour assurer cela?

(Dans mon cas, "#" est juste ma propre notation pour désigner un module dont le chemin est prédéfini dans mon fichier de configuration principal)

À partir de la documentation: http://requirejs.org/docs/api.html#mechanics

"RequireJS attend que toutes les dépendances se chargent, détermine le bon ordre d'appeler les fonctions qui définissent les modules, puis appelle les fonctions de définition de module une fois que les dépendances pour ces fonctions ont été appelées. Notez que les dépendances pour une définition de module donnée La fonction pourrait être appelée dans n'importe quel ordre, en raison de leurs relations de sous-dépendance et de l'ordre de chargement du réseau. "

Je pense que cela peut aider: http://www.sitepoint.com/understanding-requirejs-for-effective-javascript-module-loading/ (voir "Gestion de l'ordre des fichiers dépendants")

RequireJS utilise le chargement de module asynchrone (AMD) pour charger des fichiers. Chaque module dépendant commencera à charger des requêtes asynchrones dans l'ordre donné. Même si l'ordre des fichiers est considéré, nous ne pouvons garantir que le premier fichier est chargé avant le second fichier en raison de la nature asynchrone. Donc, RequireJS nous permet d'utiliser la configuration shim pour définir la séquence de fichiers qui doivent être chargés dans l'ordre correct. Voyons comment créer des options de configuration dans RequireJS.

 requirejs.config({ shim: { 'source1': ['dependency1','dependency2'], 'source2': ['source1'] } }); 

J'espère que cela aide