当前位置: 首页 > 面试题库 >

app.all('*')和app.use('/')之间的区别

姚星宇
2023-03-14
问题内容

app.all('*', ... )app.use('/', ...)Node.JS Express 之间有有用的区别吗?


问题答案:

在大多数情况下,它们将等效地工作。最大的不同是中间件的应用顺序:

  • app.all() 附加到应用程序的路由器,因此只要到达app.router中间件即可使用(该中间件处理所有方法路由… GET,POST等)。

注意:app.router已在Express 4.x中弃用

  • app.use()附加到应用程序的主要中间件堆栈,因此按中间件指定的顺序使用。例如,如果您把它放在第一位,它将是第一件事。如果将它放在最后(在路由器之后),则通常根本不会运行它。

通常,如果要对所有路由进行全局处理,则app.use()是更好的选择。而且,它将来出现错误的可能性较小,因为express
0.4可能会删除隐式路由器(这意味着路由器在中间件中的位置将比现在更重要,因为从技术上讲,您甚至不必使用它马上)。



 类似资料:
  • 问题内容: 我是表示和node.js的新手,我不知道app.use和app.get之间的区别。似乎您可以同时使用它们来发送信息。例如: 似乎与此相同: 问题答案: 用于将中间件绑定到您的应用程序。它是一个“ 安装 ”或“ 前缀 ”路径,并限制中间件仅适用于以它 开头的 任何请求的路径。它甚至可以用于嵌入另一个应用程序: 通过指定为“ mount ”路径,将响应以开头的所有路径,并且所有路径均与使用

  • 问题内容: 我刚刚阅读Express文档,发现了这两个术语,并且 我知道在节点中用于在路径上 安装中间件 ,并且我们经常在大多数节点应用中使用它。但是两者都一样吗?如果没有,有什么区别? 我在这里了解了路由器。我还在SO上找到类似的问题,“ express.Router”和使用“app.get”进行路由之间有什么区别?和app.all(’*’)和app.use(’/’)之间的区别,但它们并没有真正

  • 问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:

  • 问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。

  • 问题内容: 有人可以解释一下 和 我不知道“确切”的含义 问题答案: 在这个例子中,什么都没有。当您具有多个具有相似名称的路径时,该参数将起作用: 例如,假设我们有一个显示用户列表的组件。我们还有一个用于创建用户的组件。的网址应嵌套在下。因此,我们的设置可能如下所示: 现在,这里的问题是,当我们转到路由器时,将通过所有定义的路由,并返回它找到的第一个匹配项。因此,在这种情况下,它将首先找到路线,然