Так:
module.exports = function(request, response) {
var serviceName = request.url.match(/^\/([^/]+)/);
if (serviceName) { // URL состоит из: domain.ru/serviceName/serviceData[/./././]
serviceName = serviceName[1];
if (serviceName != 'index' && SERVICES.hasOwnProperty(serviceName)) {
SERVICES[serviceName](request, response);
} else { // Если запрос приходит на неизвестный сервис, вызываем код сервера ошибок
request.headers.error = 404;
LIB.server.error(request, response);
}
} else { // Если имя сервиса отсутствует, вызывается сервис index (главная)
SERVICES['index'](request, response);
}
};
module.exports.port = 8001;
// Инициализация сервисов. Так же оформенны в виде модулей.
LIB.fileSystem.readdir(CONFIG.path.services, function(err, files) {
var length = files.length;
while (length--) {
var serviceData = files[length].match(/^([^\.]+).js$/);
if (serviceData) {
SERVICES[serviceData[1]] = require(CONFIG.path.services + '/' + serviceData[0]);
}
}
});
Этого вполне достаточно.
А о каких проблемах роутинга речь?