evented-require
v1.0.0
Published
Require modules and receive events.
Downloads
12
Readme
evented-require
Require modules and receive events.
Usage
var EventedRequire = require('evented-require');
var basedir = process.cwd(); // or __dirname, etc
var loader = new EventedRequire(basedir);
var foo = loader.require('./foo'); // requires relative to basedir
var expect = loader.require('expect'); // requires from node_modules
loader.on('before', function(moduleName) {
// emitted with the moduleName before that module is required
});
loader.on('success', function(moduleName, result) {
// emitted with the moduleName and the result of the require when a module is successfully required
});
loader.on('failure', function(moduleName, error) {
// emitted with the moduleName and the error of the require when a module fails to load
});
// loads a series of module in order, filtering out duplicate entries
loader.requireAll([
'./foo.js',
'./bar.js'
]);
API
new EventedRequire(basedir)
Constructs a new EventEmitter instance. Requires made using this instance will be relative to the basedir
given.
instance.require(moduleName)
Instance method for requiring modules relative to the basedir
of the instance. Emits events for before
, success
, and/or failure
depending on the outcome of the require. Returns the result of the require if successful.
instance.requireAll(moduleNames)
Instance method for requiring an array of modules in order. Removes duplicates in the array before requiring them. Emits the same events as instance.require
for each module. Doesn't return anything.
event: instance.on('before', function(moduleName) {})
Emits the before
event before a module is required. Provides the module name to the callback.
event: instance.on('success', function(moduleName, module) {})
Emits the success
event after a module is required successfully. Provides the module name and the result of the require to the callback.
event: instance.on('failure', function(moduleName, error) {})
Emits the failure
event after a module fails to load. Provides the module name and the error to the callback.
License
MIT