Какова цель реализации промежуточного программного обеспечения Yeoman?
Я новичок в https://github.com/gruntjs/grunt-contrib-connect и наткнулся на это middleware
реализация функции Yoeman -
middleware: function(connect, options, middlewares) {
return [
proxySnippet,
connect.static('.tmp'),
connect().use('/bower_components', connect.static('./bower_components')),
connect.static(config.app)
];
}
Какова цель этой реализации?
1 ответ
Это связующее промежуточное ПО. Промежуточное программное обеспечение - это функция обратного вызова запроса, которая может выполняться при каждом запросе. Он может либо изменить / завершить текущий цикл запрос-ответ, либо передать запрос следующему промежуточному программному обеспечению в стеке. Вы можете узнать больше о промежуточном программном обеспечении из экспресс-гида.
В вашем коде у вас есть четыре промежуточных программного обеспечения в стеке. Первый - для передачи текущего запроса на другой сервер. А остальные три промежуточных программного обеспечения предназначены для обслуживания статических файлов из трех разных каталогов.
Когда на сервер делается запрос, он проходит через эти промежуточные программы в следующем порядке:
Проверьте, должен ли запрос быть прокси. Если он проксируется на другом сервере, то это конец цикла запрос / ответ, остальные три промежуточных программного обеспечения будут игнорироваться.
Если не прокси, он будет пытаться обслуживать запрошенный файл из
./tmp
каталог.- Если файл не найден выше, он заглянет внутрь
./bower_components
, Обратите внимание, что это промежуточное программное обеспечение будет выполняться только для запросов с `/bower_components/ в пути. например, http://localhost:9000/bower_components/bootstrap/bootstrap.js - Наконец, если файл не найден в двух каталогах выше, он будет искать его в любом месте, указанном в
config.app
,
Это конец стека, после этого вы получите ошибку 404 Not found.