RequireJS, AccountingJs - transmission de la configuration globale à la comptabilité

StackOverflow https://stackoverflow.com//questions/21040133

  •  21-12-2019
  •  | 
  •  

Question

Je suis assez nouveau dans l'utilisation de requireJs et j'ai un problème avec la définition de la configuration globale d'un module.

J'utilise comptableJs et je souhaite modifier le paramètre globalement. Dans ce cas, je souhaite changer le symbole de $ en £.

Sans RequireJS, vous feriez simplement quelque chose comme ceci, car la comptabilité serait dans l'espace de noms global.

accounting.settings = $.extend(accounting.settings, {
        currency: { symbol: '\u00A3 '}
    });

AccountingJs est conforme à AMD et fonctionne parfaitement avec require, mais je n'arrive pas à trouver un moyen de lui transmettre la configuration globalement plutôt que .

J'ai vu le paramètre de configuration dans require docs ici et je peux définir la configuration ici mais comptablejs ne détecte pas cela (ce n'est pas codé !).

Ma question est la suivante : comment puis-je définir une configuration comme celle-ci pour un module compatible AMD globalement dans la page ?

Je peux voir quelques options

  • Modifiez comptablejs pour consulter module.config() et chargez toute configuration qu'il voit - j'ai essayé cela et cela fonctionne comme prévu mais je ne veux pas vraiment de personnalisation.
  • utilisez shim config et utilisez le rappel init - je n'ai pas réussi à faire fonctionner cela (peut-être parce qu'il est déjà conforme à AMD)
  • créez un nouveau module pour envelopper comptabilitéjs dans une autre définition et appliquez la configuration ici et utilisez ce module dans chaque page - je n'essaie pas cela mais je suppose que cela fonctionnerait...

ce que je veux vraiment faire, c'est avoir un moyen d'appliquer globalement la configuration à un module déjà existant à partir de la configuration requise, est-ce possible ??

Était-ce utile?

La solution

Si le module AMD n'est pas conçu pour utiliser module.config, alors vous ne pouvez pas le forcer à l'utiliser.La solution que vous mentionnez en dernier est la plus robuste :créez un module wrapper qui configure le module réel comme vous le souhaitez.Cet emballage peut utiliser module.config pour saisir des valeurs.Cette solution est susceptible de fonctionner avec RequireJS maintenant et pendant assez longtemps puisque vous utilisez des fonctionnalités API bien documentées et centrales aux fonctionnalités de RequireJS.

Quant à une cale, je ne me souviens pas que la documentation de RequireJS ait jamais fourni une solution consistant à utiliser une cale pour un module qui est déjà conçu pour fonctionner avec les chargeurs AMD.Donc, si l’utilisation d’une cale fonctionnait, ce serait par hasard plutôt que par conception.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top