Is there any way to access all loaded modules of require.js?
Background:
I want to automatically call an init()
function of my javascript-modules af
Just finished a similar behavior within my RequireJS project. require.s.contexts['_'].registry
holds the list of the registered modules.
I am using Underscore.js
for getting, filtering and iterating the list of modules. Maybe the following code fragment helps you:
var modules_registered = _.keys(require.s.contexts['_'].registry);
var modules_to_be_initialized = _.filter(modules_registered, function(module_title) {
return module_title.indexOf('modules') > -1;
});
_.each(modules_to_be_initialized, function(module_name) {
require([module_name], function(current_module) {
current_module.init();
});
});
I'm lazy, so I just did this:
var modulesToLoad = Object.keys(require.s.contexts['_'].registry);
require(modulesToLoad);
Based on other answers here.
Yes, require.s.contexts._.defined
is an object which its keys are the module names and the values include the value returned from that module.
require.s.contexts._.defined
includes all the modules (either define()
or require()
such as the Javascript file that is the starting point of the program and is indicated using data-main
for RequireJS).