我是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)
];
}
此实施的目的是什么?
答案 0 :(得分:1)
这些是connect middlewares。中间件是可以在每个请求上执行的请求回调函数。它可以修改/结束curent请求 - 响应周期,也可以将请求传递给堆栈中的下一个中间件。您可以从express guide了解有关中间件的更多信息。
在您的代码中,堆栈中有四个中间件。第一个用于将当前请求代理到另一个服务器。其余三个中间件用于提供来自三个不同目录的静态文件。
当向服务器发出请求时,它将按以下顺序浏览这些中间件:
检查请求是否应该代理。如果它被代理到其他服务器,那么它是请求/响应周期的结束,其余三个中间件将被忽略。
如果未代理,它将尝试从./tmp
目录提供所请求的文件。
./bower_components
内部。请注意,此中间件仅针对路径中具有`/ bower_components /的请求执行。例如http://localhost:9000/bower_components/bootstrap/bootstrap.js config.app
中设置的路径中查找它。那是堆栈的结束,之后您将收到404 Not found错误。