2012-10-04 2 views
19

Я ищу документацию по функции app.get express.js.Экспресс app.get documentation

app.get(
    '/path', 
    middleware(), 
    function(req, res) { 
     res.redirect('/'); 
    } 
); 

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

+3

вы можете складывать функции промежуточного программного обеспечения: app.get ('/ account', fn1, fn2, fn3, function (err, req, res) {}); – chovy

+1

@chovy thx для этого простого ответа. С Новым годом 2015! –

ответ

23

Документы для этого являются частью app.METHODdocumentation, где get является одним из поддерживаемых методов HTTP.

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

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

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

+0

Я хочу сделать некоторые функции промежуточного программного обеспечения, но я действительно не могу найти документ о том, как они работают и какие параметры они принимают. Я нашел один пример кода, который имеет функцию, которая принимает аргументы 'req, res, next' в качестве аргументов, но я не уверен, как ее использовать. – ThomasReggi

+1

Функции промежуточного программного обеспечения здесь всегда принимают эти три параметра: объект 'request', объект' response' и обратный вызов 'next' для вызова, когда промежуточное ПО завершено. Передайте 'next' объект Error при ошибке или нет параметров для передачи управления следующему обратному вызову. – JohnnyHK

+0

Знаете ли вы пример промежуточного программного обеспечения другого метода, который использует node/express для делегирования параметров по пути. Например, маршрут '/ login? Age = 23' из'/login? Name = thomas'? Я мог бы действительно использовать пример этого. Я знаю, что могу просто использовать условные if 'req.query.age' и' req.query.name' на основе, если они 'undefined' или нет, но это не является сложным. Является промежуточным решением? – ThomasReggi

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

  • Нет связанных вопросов^_^