我对express和node.js有点陌生,我无法弄清楚app.use和app.get之间的区别。看来您可以同时使用它们来发送信息。例如:
app.use('/',function(req, res,next) {
res.send('Hello');
next();
});
似乎与此相同:
app.get('/', function (req,res) {
res.send('Hello');
});
原文由 Andre Vorobyov 发布,翻译遵循 CC BY-SA 4.0 许可协议
app.use()
用于将 中间件 绑定到您的应用程序。path
是“ _挂载_”或“ _前缀_”路径,并将中间件限制为仅适用于请求以它 开头 的任何路径。它甚至可以用来嵌入另一个应用程序:通过将
/
指定为“ _挂载_”路径,app.use()
将响应以/
开头的任何路径,所有这些路径都被使用并且与 HTTP 动词无关:GET /
PUT /foo
POST /foo/bar
另一方面,
app.get()
是 Express 应用程序路由 的一部分,用于在使用GET
HTTP 动词请求时匹配和处理特定路由:GET /
而且,您的
app.use()
示例的等效路由实际上是:( 更新:试图更好地展示差异。 )
路由方法,包括
app.get()
,是帮助您更精确地对齐对请求的响应的便捷方法。他们还添加了对 参数 和next('route')
等功能的支持。在每个
app.get()
中调用app.use()
,因此您当然可以直接使用app.use()
完成所有这些操作。但是,这样做通常需要(可能不必要地)重新实现不同数量的样板代码。例子:
对比
对比
对比