工布江达信息网
国内新闻
当前位置: 首页 >> 国内新闻 >> 正文

Express.js Study Note: Route Order Is Matters!


文章作者:www.orrapin.com 发布时间:2019-09-18 点击:1823



上一篇文章,我学会了从课程开发我的第一个Express App。基本上,它有三条路线。当我们输入“/”,“/bye”和“/cat”时,应用程序将收到请求并将匹配的响应发送给我们。

但是,如果我们想在用户在斜线后键入其他文本时发送一条好消息,我们该怎么办?

我们可以编写一个“*”路由,除了我们已经定义的那三条路线之外,每当app收到任何url请求时都会运行。

App.get(“*”,函数)

在App.js文件中,我们添加了一个新的星型路由,每当您键入任何未定义的请求时,它都会向您发送一条新消息。

我运行我的应用程序,并在斜线后放入一些随机文本,然后按回车键。我得到的只是“你是一个明星!”。

如果我们将星际路线移到这三条路线的顶部,会发生什么?教师运行应用程序,结果即使我们发送“/”,“/bye”或“/cat”请求,我们得到的只是“你是一个明星”。

因此,路线的顺序很重要!

如果我们首先放置星际路线,那么其他任何东西都不会匹配。关键概念是匹配给定请求的第一条路线是唯一将要运行的路线。这就是为什么我们通常将起始路线放在最底层。

我学到的另一件事是路线参数。

如果我们有一个涵盖很多主题的博客,那么在app.get中覆盖每一个主题将是超级压力。代码不会干(不要重复自己),而且浪费了很多时间。最重要的是,我们永远不会匹配用户想要搜索的所有主题。

为了解决上述问题,我们需要使用route参数,我们可以使用它来定义一个不必逐字匹配的路由中的模式。它只需要匹配相同的模式。

例如,我写了一个路由模式:

App.get(“/a /: subName,function)

的? “: subName”是模式。用户可以输入“/a/anyname”来发送请求,并接收相关消息。

当我在URL中输入“/a/babywipe”来发出请求时,我会收到新消息。

我们还可以在应用程序路径中添加更多“/:模式”。例如,我们可以在评论后添加“/: ID /: Title /”。

结果,当我输入与模式路线匹配的“/a/baby wipe/comments/123/best_baby_wipe”时,应用程序会将“将您的评论留在此处”消息发回给我。

这个木头

0.3

2019.08.22 21: 17

字数473

上一篇文章,我学会了从课程开发我的第一个Express App。基本上,它有三条路线。当我们输入“/”,“/bye”和“/cat”时,应用程序将收到请求并将匹配的响应发送给我们。

但是,如果我们想在用户在斜线后键入其他文本时发送一条好消息,我们该怎么办?

我们可以编写一个“*”路由,除了我们已经定义的那三条路线之外,每当app收到任何url请求时都会运行。

App.get(“*”,函数)

在App.js文件中,我们添加了一个新的星型路由,每当您键入任何未定义的请求时,它都会向您发送一条新消息。

我运行我的应用程序,并在斜线后放入一些随机文本,然后按回车键。我得到的只是“你是一个明星!”。

如果我们将星际路线移到这三条路线的顶部,会发生什么?教师运行应用程序,结果即使我们发送“/”,“/bye”或“/cat”请求,我们得到的只是“你是一个明星”。

因此,路线的顺序很重要!

如果我们首先放置星际路线,那么其他任何东西都不会匹配。关键概念是匹配给定请求的第一条路线是唯一将要运行的路线。这就是为什么我们通常将起始路线放在最底层。

我学到的另一件事是路线参数。

如果我们有一个涵盖很多主题的博客,那么在app.get中覆盖每一个主题将是超级压力。代码不会干(不要重复自己),而且浪费了很多时间。最重要的是,我们永远不会匹配用户想要搜索的所有主题。

为了解决上述问题,我们需要使用route参数,我们可以使用它来定义一个不必逐字匹配的路由中的模式。它只需要匹配相同的模式。

例如,我写了一个路由模式:

App.get(“/a /: subName,function)

的? “: subName”是模式。用户可以输入“/a/anyname”来发送请求,并接收相关消息。

当我在URL中输入“/a/babywipe”来发出请求时,我会收到新消息。

我们还可以在应用程序路径中添加更多“/:模式”。例如,我们可以在评论后添加“/: ID /: Title /”。

结果,当我输入与模式路线匹配的“/a/baby wipe/comments/123/best_baby_wipe”时,应用程序会将“将您的评论留在此处”消息发回给我。

上一篇文章,我学会了从课程开发我的第一个Express App。基本上,它有三条路线。当我们输入“/”,“/bye”和“/cat”时,应用程序将收到请求并将匹配的响应发送给我们。

但是,如果我们想在用户在斜线后键入其他文本时发送一条好消息,我们该怎么办?

我们可以编写一个“*”路由,除了我们已经定义的那三条路线之外,每当app收到任何url请求时都会运行。

App.get(“*”,函数)

在App.js文件中,我们添加了一个新的星型路由,每当您键入任何未定义的请求时,它都会向您发送一条新消息。

我运行我的应用程序,在斜杠后面放一些随机文本,然后点击回车。我只知道“你是个明星!“。

0×251d

如果我们把星空航线移到这三条航线的顶端,会发生什么?教练运行应用程序,结果是即使我们发送了“/”、/bye或/cat”请求,我们得到的只是“你是明星”。

因此,路线的顺序很重要!

如果我们把星光大道放在第一位的话,其他的都不会比得上。关键的概念是,与给定请求匹配的第一条路由是将要运行的唯一路由。这就是为什么我们通常将开始路线放在底部的原因。

我学到的另一件事是路线参数。

如果我们有一个涵盖很多主题的博客,那么在app.get中覆盖每一个主题将是超级压力。代码不会干(不要重复自己),而且浪费了很多时间。最重要的是,我们永远不会匹配用户想要搜索的所有主题。

为了解决上述问题,我们需要使用route参数,我们可以使用它来定义一个不必逐字匹配的路由中的模式。它只需要匹配相同的模式。

例如,我写了一个路由模式:

App.get(“/a /: subName,function)

?“: subName”是模式。用户可以输入“/a/anyname”来发送请求,并接收相关消息。

当我在网址中输入“/a/babywipe”来发出请求时,我会收到新消息。

我们还可以在应用程序路径中添加更多“/:模式”。例如,我们可以在评论后添加“/: id /: title /”。

结果,当我输入与模式路线匹配的“/a/babywipe/comments/123/best_baby_wipe”时,应用程序会将“将您的评论留在此处”消息发回给我。

http://ios.ph168.net.cn

下一条: 玩游戏送星元,小乔联动星元皮肤来袭,即将绝版!