excuses si je l'ai manqué dans les documents. Fondamentalement, je souhaite utiliser la fonction de configuration du module requisjs. J'aimerais gérer de manière centrale les valeurs de configure données aux modules dans un package.
Ceci est un exemple de la DOCS: P>
requirejs.config({ config: { 'bar': { path: path.dirname(module.uri) key: crypto.randomBytes(64) }, } });
4 Réponses :
Je pense que la bonne façon de le faire est de faire un module de configuration ... puis utilisez-le dans d'autres modules ... p> Vous pouvez alors le rendre aussi compliqué que vous le souhaitez! P> Edit: Vous pouvez polluer l'espace de noms global pour cette classe spéciale ... p> Ajoutez-le au niveau supérieur requis Call: p> alors vous pouvez l'utiliser sans toujours l'ajouter à votre définition: P> // bar.js
define([], function() {
var key = config.key;
});
Ouais c'est ce que j'en ai actuellement, mais cela signifie que j'ai besoin d'exiger "config" à partir de chaque module. Cela signifie également que je ne peux pas spécifier différentes configurations pour différents modules de manière centralisée. J'espérais vraiment utiliser la fonctionnalité de configuration requisjs, mais peut-être que ce n'est pas possible
Vérifiez mon édition, les globaux sont appropriés si vous utilisez quelque chose partout
Ah, vrai! Difficile de dire parfois: P Votre solution ne remplace que «config» avec «module», de manière plus compliquée. N'importe où vous avez besoin des paramètres de configuration, vous devrez avoir «module» dans votre définition. Vous pouvez utiliser ma solution mais changer la fenêtre.config = {...} sur module.config = {...} (le module est vraiment l'espace de noms global dans Nodejs?)
Après avoir pensé à cela un peu plus, j'ai monté une solution de contournement. Ce n'est pas particulièrement joli mais cela semble fonctionner.
Je fais tout simplement besoin de Djs (...) deux fois, d'abord pour créer la configuration, et de recharger les modules d'application avec la configuration .. p>
# bar.coffee define ['module'], (module) -> # config is now available in this module console.log(module.config().key)
Pour ce type de solution, je voudrais que le module dépend du module "Config" que vous pouvez échanger pour une autre utilisation de chemins Config. Donc, si "bar" avait besoin de config, "bar.js" ressemblerait à: puis barconfig.js pourrait avoir vos autres dépendances: p> requirejs.config({
paths: {
barConfig: 'barConfig-prod'
}
});
Riffing sur ce que @jrburke dit, j'ai trouvé que le modèle suivant est très utile: définir un module de configuration et ses dépendances dans le main.js strong> p> PLNKR Demo: http://plnkr.co/edit/i35Begaazazeamd0u4cnuj a> p> p> main.js code> juste avant l'invocation de
requiert. config () code>.