Структура приложения Nodejs

Мне интересно, структурирую ли я свое приложение nodejs соответствующим образом, чтобы учесть лучшую производительность. Меня больше всего беспокоит то, как я перемещаю ссылку на приложение по модулям.

По сути, в моем файле app.js я объявляю все свои требования, библиотеки и т. д.:

var app = {
    config     : require('../../config.json'),
    restify    : require('restify'),
    path       : require('path'),
    mongo      : require('mongodb'),
    model      : require('./models.js'),
    step       : require('step'),
    q          : require('q'),
    api        : require('./api_util.js'),
    underscore : require('underscore')
};

В своем экспорте я передаю весь объект приложения. Теперь, учитывая мои знания JavaScript (вы можете поправить меня, если я ошибаюсь), это не создаст новых экземпляров объекта, он просто передаст объект как указатель и ссылается на тот же объект в памяти.

Теперь то, что я делаю помимо этого (для простоты), находится в моей библиотеке восстановления (то же самое можно сделать с Express), я добавляю значение приложения к объекту запроса сервера следующим образом:

app.server.pre(function (request, response, next) {
    request.app = app;
    return next();
});

Следовательно по каждому отдельному запросу, если мне нужен быстрый доступ к любому из объявлений моей библиотеки, конфигурации и т. д. Я могу легко получить доступ к request.app. Я тоже не вижу в этом проблемы, та же логика, что объект действует как указатель на одно и то же пространство памяти, поэтому я не удваиваю использование памяти или что-то в этом роде.

Есть ли лучший/более простой способ структурировать это?

5
задан pilotguy 29 May 2012 в 01:22
поделиться