Node.js, восстановление и правильная маршрутизация

Я все еще ломаю голову над Node, но у меня есть очень простой вопрос. Я вижу много примеров узлов, где люди объявляют свои маршруты и всю свою логику в одном файле app.js (или иногда разбивают их на подфайлы ).

Мой вопрос в основном :: лучше ли хранить все ваши объявления маршрутов в приложении или загружать общий маршрут, который сопоставляется с вашей файловой структурой. Это может показаться примитивным вопросом, но моя цель — понять, что наиболее эффективно в узле.

В настоящее время я создаю обработчик API с помощью Restify, но у меня есть другое приложение, использующее Express (, поэтому этот вопрос, скорее всего, ответит на оба вопроса ).

В моем маршруте я могу либо объявить загрузку одного маршрута, например:

app.all('/api/:package/:controller', function(request, response) {
    var controller = require(
        '../' + request.params.package + '/api/' + request.params.controller
    );
    controller.index(request, response);
    response.end();
});

Это в основном принимает все вызовы из API и нацелено на правильный контроллер API. В качестве альтернативы я могу объявить каждый маршрут отдельно или, возможно, даже написать цикл, который проходит через каждый из моих контроллеров и объявляет их при инициализации. Так:

for (var i in packages.controllers) {
    app.all('api/' + package + '/' + controllers[i].name, function(request, response) {
       var controller = require(
           '../' + request.params.package + '/api/' + request.params.controller
       );
       controller.index(request, response);
    }
}

packages.controllers — массив всех возможных контроллеров. Обратите внимание, что приведенный выше код не является точным,У меня есть структура папок HMVC, поэтому код немного сложнее, чем приведенный выше. Но вы поняли.

Мне интересно, каковы последствия того и другого, и действительно ли это имеет значение?

Спасибо!

8
задан pilotguy 20 May 2012 в 02:22
поделиться