Node.js – Como carregar módulos recursivamente do diretório

Instruções rápidas para carregar arquivos em node.js como módulos.

index.js:

require('fs').readdirSync(__dirname).forEach(function (file) {
/* If its the current file ignore it */
if (file === 'index.js') return;

/* Store module with its name (from filename) */
module.exports[path.basename(file, '.js')] = require(path.join(__dirname, file));
});

ping.js (módulo de exemplo):

module.exports = (function (params, request) {
broadcastUser
({data: 'pong'}, 'message', request);
});

Isso é tudo!