Às vezes, preciso carregar dinamicamente todos os arquivos javascript contidos em uma pasta – aqui está um trecho de código útil que faz isso – esta função carrega dinamicamente todos os arquivos js em uma pasta e chama um retorno de chamada de forma assÃncrona e retorna de forma sÃncrona um array com todos os arquivos js ele foi carregado.
var requireDir = function(dir, callback) {
var aret = Array();
fs.readdirSync(dir).forEach(function (library) {
var isLibrary = library.split(".").length > 0 && library.split(".")[1] === 'js',
libName = library.split(".")[0].toLowerCase();
if (isLibrary) {
aret[libName] = require(path.join(dir, library));
}
});
if(callback) process.nextTick(function() {
callback(null, aret);
});
return aret;
}