Подключение модулей без явного использования require или аналог namespace

При работе с node.js часто приходится подключать файлы, расположенные не в текущей директории, и даже не в поддереве текущего каталога. Поэтому часто в модулях можно наблюдать что-то вроде
var obj = require('../../../a/b/c/someModule');

Для меня гораздо удобнее подключать файлы относительно корня проекта (модуля), например
var obj = require(base_dir + '/a/b/c/someModule');

Однако и в этом случае довольно много писанины и необходимо откуда-то получать base_dir.
Для себя я нашел решение проблемы, позволяющее больше не писать require и не узнавать base_dir:
var obj = lib.a.b.c.someModule;


Кому интересно решение — прошу под кат.
Читать дальше →

© Habrahabr.ru