An easy way to require all files within a directory.
var controllers = require('require-all')({
dirname : __dirname + '/controllers',
filter : /(.+Controller)\.js$/,
excludeDirs : /^\.(git|svn)$/
});
// controllers now is an object with references to all modules matching the filter
// for example:
// { HomeController: function HomeController() {...}, ...}
If your objective is to simply require all .js and .json files in a directory you can just pass a string to require-all:
var libs = require('require-all')(__dirname + '/lib');
If your directory contains files that all export constructors, you can require them all and automatically construct the objects using resolve
:
var controllers = require('require-all')({
dirname : __dirname + '/controllers',
filter : /(.+Controller)\.js$/,
excludeDirs : /^\.(git|svn)$/,
resolve : function (Controller) {
return new Controller();
}
});