Requirejs, contabilitàJS - Passare la configurazione globale nella contabilità
-
21-12-2019 - |
Domanda
Sono abbastanza nuovo a utilizzare RequireJS e im avendo un problema con l'impostazione della configurazione globale per un modulo.
Sto usando contabilitàjs e voglio modificare l'impostazione a livello globale in questo caso voglio cambiare il simbolo da $ a £.
Senza RequireJS, faresti semplicemente qualcosa del genere come la contabilità sarebbe nello spazio dei nomi globali
accounting.settings = $.extend(accounting.settings, {
currency: { symbol: '\u00A3 '}
});
.
Contantijs è conforme AMD e funziona perfettamente con richiesta ma non riesco a capire un modo per passare la configurazione in esso globalmente piuttosto che.
Ho visto l'impostazione della configurazione in Ricontare documenti qui e posso impostare La configurazione qui ma contantijs non raccoglie questo (non è codificato!).
La mia domanda è come posso impostare la configurazione come questa per un modulo conforme AMD a livello globale all'interno della pagina?
Posso vedere alcune opzioni
- .
- Modifica contabilitàJS per guardare Module.config () e caricare qualsiasi configurazione che vede - Ho provato questo e funziona come previsto ma non voglio davvero un usanza.
- Utilizzare Shim Config e usa la richiamata init - non ho ottenuto questo per lavorare (forse perché è già conforme AMD)
- Crea un nuovo modulo per avvolgere i contantijs in un altro definisci e applicare la configurazione qui e utilizzare questo modulo in ogni pagina - non prova questo, ma immagino che avrebbe funzionato ...
Quello che faccio davvero fare è avere un modo di applicare a livello globale Config a un modulo già esistente dalla configurazione Richiesta è possibile ??
Soluzione
Se il modulo AMD non è progettato per utilizzare module.config
, non è possibile forzarlo per usarlo.La soluzione che menziona l'ultimo è la più robusta: creare un modulo wrapper che configura il modulo effettivo come vuoi.Questo involucro può utilizzare module.config
per afferrare i valori.Questa soluzione è probabile che funzioni con Restayjs ora e per un bel po 'di tempo da quando si utilizzano funzionalità di API che sono ben documentate e centrali per la funzionalità di Require.
Per quanto riguarda uno shim, non ricordo i documenti per RequireJs che fornisca mai una soluzione che consiste come utilizzando uno shim per un modulo già progettato per funzionare con i caricatori AMD.Quindi se usi uno shim ha funzionato, sarebbe per caso piuttosto che dal design.