理解了路徑和句柄,才算真的會了Express路由的使用
點擊上方藍字關注「小鄭搞碼事」,每天都能學到知識,搞懂一個問題!
首先,我們需要知道什麼是路由,先來給「路由」下個定義:
路由:就是如何處理HTTP請求中的路徑部分。
每個路徑都會有對應的函數來處理(這個函數叫句柄),下面一個一個來說。
一、有關路徑
路徑可以是一個String類型也可以是一個正則表達式,下面舉例子來看一下具體怎麼用。
1、當路徑是String:
如上圖所示配製路由,頁面分別訪問:
http://localhost:1234/abcd
輸出:This is list
http://localhost:1234/list/news/
輸出:This is news
http://localhost:1234/list/news/123
輸出:This is list news:123
2、當路徑是正則表達式:
第一個路由匹配的是/mobile/1[十個數字],頁面訪問:
http://localhost:1234/mobile/1XXXXXXXXXX
輸出:This is a mobile phone ......
第二個路由匹配的是/abcd或者/acd。
二、有關句柄
有關句柄,說兩個問題:
1、next和next("route")區別
如上圖所示,有三個地方加了next,實例測試發現:
當位置1是next()時,結果輸出:1234
當位置1是next("router")時,結果輸出:134
由此可見,二者的區別就是:next從下一個處理函數開始往下執行,next("router"),直接執行下一個相同路由。
2、param
param在路由中也相當於是一個中間件作用。看一個例子就明白:
上面這個路由輸出:list:item0item1item2
app.param會在路由前執行,需要注意的是listname參數一定要對應。
寫在最後的總結:
知道了路徑和句柄的使用,才算真真掌握了路由的使用。以上純屬個人理解,如有不對的對方,歡迎留言指正。
※想了解函數引用和函數調用本質區別的,這篇文章不要錯過
※關於js中的arguments,只需要搞懂這三點
※簡單實例演示js中this/applay/call用法
TAG:小鄭搞碼事 |
※從Margiela到Virgil,看看這幾年解構運動鞋的發展路徑啊
※經驗:解決Inno Setup 和一些應用程序在Windows 中不能訪問UNC路徑的問題
※【乾貨】C盤空間不夠?如何更改Windows Update默認下載路徑
※使用xSignals定義高速信號路徑
※最小生成樹prime演算法、kruskal演算法 最短路徑演算法floyd、dijkstra
※Spring Security 實現 antMatchers 配置路徑的動態獲取
※智而近妖的 Jeff Dean 談谷歌新商業路徑,醫療會是一個好的方向
※springboot丟失jdk路徑——jdk安裝與jdk多版本管理
※Python學習的一些路徑推薦
※漫畫:數據結構之最短路徑 Dijkstra 演算法的優化 | 技術頭條
※SVG 路徑<path>
※Nature指明大腦引流「廢液」的確切路徑
※針對 Bash 的不完整路徑展開(補全)功能
※Paint API之PathEffect(路徑效果)
※如何使用Google Analytics 360中的高級分析探索訪客路徑?
※機器學習成才之路:這是一條GitHub高贊的學習路徑
※通過路徑ControlLogix->1770KF2->OPC Client 傳送PLC2 type的message
※Python爬蟲 | 一條高效的學習路徑
※Python小技巧:3個處理文件路徑的簡單方法
※Nature:測量單個細胞的染色質可接近性,從而揭示胚胎髮育路徑