2015-05-01 6 views
0

я проходил через app.use() и нашел следующуюЭкспресс App/маршрутизатор в качестве промежуточного слоя

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

Я не мог понять, в каком сценарии я буду использовать приложение/роутер в качестве своего промежуточного программного обеспечения в своем экспресс-приложении. И каково будет его влияние?

Более подробное объяснение

Я понимаю в expressJS промежуточное программное похожи на фильтры/сервлетов в среде Java. Тем не менее, middlewares будут вызываться один за другим всякий раз, когда на сервер приходит какой-либо запрос. Перейдем к следующему примеру:

var middleWare = function(req, res){ 
    res.send('hello world'); 
}; 

app.get('/hello', middleWare); 

Теперь, как приложение/маршрутизатор подходят как средние товары.

экспресс приложение в качестве промежуточного слоя:

var subApp = express(); 
subApp.get('/', function (req, res, next) { 
    next(); 
}) 
app.use(subApp); 

с использованием маршрутизатора в качестве промежуточного слоя:

var router = express.Router(); 
router.get('/', function (req, res, next) { 
    next(); 
}) 
app.use(router); 

Теперь, я не в состоянии понять, какой сценарий я предпочитаю использовать приложение/маршрутизатор в качестве промежуточного программного обеспечения в моем экспресс-приложении. Как будет выглядеть приложение в этом случае, какое влияние?

+1

Можете ли вы подробнее объяснить? –

+0

Пожалуйста, взгляните на отредактированный вопрос. – dopeddude

ответ

0

Основное отличие между суб-приложениями и маршрутизаторами заключается в том, что последний наследует конфигурацию приложения, а создание нового экспресс-приложения - нет.

Вы должны использовать под-приложение только в том случае, если вам нужны два полностью разделенных приложения без наследования настроек.

Подробнее об этом here.

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