2015-12-09 3 views
0

Я видел примеры отделяя маршрутизатора Logic Express в файлы контроллеров, таких как meanJSЭкспресс - Разделительная маршрут логика обработчика в контроллерах

Э.Г.

var express = require('express'), 
    router = express.Router(), 
    catalogues = require('../controllers/catalogues'); 

router.route('/catalogues') 
    .get(catalogues.apiGET) 
    .post(catalogues.apiPOST); 

../controllers/catalogues

var request = require('request'); 

exports.apiGET = function(req, res) { 
    var options = prepareCataloguesAPIHeaders(req); 
    request(options, function(err, response, body){ 
    res.send(body); 
    }); 
}; 

exports.apiPOST = function(req, res) { 
    var options = prepareCataloguesAPIHeaders(req); 
    options.json = true; 
    options.body = stripBody(req.body); 
    request(options, function(err, response, body){ 
    res.send(body); 
    }); 
}; 

Я не видел ни одного упоминания об этом в документации Express, так что это просто новый способ мышления с точки зрения сохранения логики отдельно от определений маршрута?

Достигнуты ли какие-либо результаты или другие достижения, достигнутые при использовании этого подхода?

+3

Никогда не бывает увеличения производительности при разделении на файлы (ведь чтение файлов «дорого»). Усиление в читаемости и ясности. Если это поможет вам и вашей команде лучше прочитать код, используйте его. Если нет, не делайте этого. –

ответ

2

MEAN.js пытается следовать шаблону MVC (Model-View-Controller) на стороне сервера, а результатом является логическое разделение между моделями mongoose, шаблонами серверов и контроллерами.

В качестве способа улучшения организации кода принято разделять маршруты и контроллеры на свои собственные файлы. В огромном приложении он помогает разработчикам поддерживать код.

Что касается производительности, я не верю, что есть улучшения.

Смежные вопросы