Skip to content Skip to sidebar Skip to footer

Interacting With Require.js Modules From The Firebug/chrome Console?

I'm just getting started with require.js. I have successfully wrapped jquery, some plugins, and a couple of my own modules. I'm trying to interact with my modules (or jquery) fro

Solution 1:

Say we have module /app/scripts/methodsModule.js that returns a few methods:

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

In our data-main file /app/scripts/main.js we have:

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

Once requireJS loads up our data-main, we can access any modules that have already been loaded by requireJS from the javascript console command line like so:

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

If a module hasn't been loaded by a call to require() or define(), we have to pass our own callback for the require function to call after the module has been loaded:

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

Otherwise, requireJS throws an error saying that the module has not yet been loaded..

Solution 2:

There is a way without using callbacks.

If you module was not required in console or you application before, you can just require it first:

require(['methodsModule']);

after that you can use "dynamic" require to access it:

require('methodsModule').someMethod();

Post a Comment for "Interacting With Require.js Modules From The Firebug/chrome Console?"