40 votes

L'interaction avec require.js les modules de Firebug/Chrome console?

Je suis juste de commencer avec require.js. Je l'ai terminée avec succès, jquery, certains plugins, et un couple de mes propres modules. Je suis en train d'interagir avec mes modules (ou jquery) à partir de Firebug (ou Google Chrome JS console), et je ne vais pas avoir beaucoup de chance.

Quelle est la bonne manière d'accéder à ces modules à partir de la console?

54voto

benastan Points 1752

Disons que nous avons un module /app/scripts/methodsModule.js qui renvoie quelques méthodes:

define({
    someMethod: function() {
        // do stuff
    },
    anotherMethod: function() {
        // do some more stuff
    }
});

Dans notre base de données-fichier principal /app/scripts/main.js nous avons:

require(['methodsModule'], function(methods) {
    methods.someMethod() // call someMethod
    methods.anotherMethod() // call anotherMethod
})

Une fois requireJS des charges jusqu'à nos données principaux, nous pouvons accéder à tous les modules qui ont déjà été chargé par requireJS à partir de la console javascript de la ligne de commande comme ceci:

>> methods = require('methodsModule'); // requireJS has module methodsModule stored
>> methods.someMethod() // call someMethod
>> methods.anotherMethod() // call anotherMethod

Si un module n'a pas été chargé par un appel à require() ou définir(), nous devons passer par notre propre fonction de rappel pour le besoin de la fonction à appeler lorsque le module a été chargé:

>> myCB = function(methods) { methods.someMethod() }
>> require(['methodsModule'], myCB)

Sinon, requireJS lance un message d'erreur indiquant que le module n'a pas encore été chargée..

15voto

Valentin Nemcev Points 2186

Il y a un moyen sans l'aide de rappels.

Si vous module n'était pas nécessaire dans la console ou vous demande avant, vous pouvez juste besoin d'abord:

require(['methodsModule']);

après cela, vous pouvez utiliser le bouton "dynamique" besoin d'y accéder:

require('methodsModule').someMethod();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X