nodejs express的use中間件理解

express的核心應該就是利用中間件。
利用中間件,可以把功能邏輯細化為單一功能組件,然后被use組合利用。
例如訪問頁面是否為判斷404(not_found_middleware函數(shù)),判斷是否登陸(has_login_middleware)等。
訪問某頁面的時候,會判斷是否有權限,不可能在每一頁面都做判斷。首先考慮的是攔截器,use中間件就能起到該攔截作用。

app.use(path,callbackFn),?
說明: 1)? path參數(shù)為可選,默認是全部匹配路徑。
????????????????????如果設置,則表示對該路徑下的頁面訪問,提供中間件功能。
? ? ? ? ? ? ? ? ? ? 例如app.use('/sku',someMiddlewareFn),中間件的使用限制到有sku的path下,沒有sku的path訪問,不能利用該中間件。
? ? ? ? ? 2)??callbackFn可以為函數(shù)或者路由router,它就是中間件。

app.get等method的路由訪問形式,與use的區(qū)別如下:
1? method形式,app.get(path,callbackFn)的callbackFn只能是函數(shù),不能是路由router。
2? method形式匹配為精確匹配path,例如:
????????????app.get('/path1',callbackFn1)
????????????app.get('/path1/path2',callbackFn2)
? ? ? ? 訪問? /path1/path2 的時候,是不會執(zhí)行callbackFn1 函數(shù)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。