nodejs express的use中间件理解

express的核心应该就是利用中间件。
利用中间件,可以把功能逻辑细化为单一功能组件,然后被use组合利用。
例如访问页面是否为判断404(not_found_middleware函数),判断是否登陆(has_login_middleware)等。
访问某页面的时候,会判断是否有权限,不可能在每一页面都做判断。首先考虑的是拦截器,use中间件就能起到该拦截作用。

app.use(path,callbackFn), 
说明: 1)  path参数为可选,默认是全部匹配路径。
                    如果设置,则表示对该路径下的页面访问,提供中间件功能。
                    例如app.use('/sku',someMiddlewareFn),中间件的使用限制到有sku的path下,没有sku的path访问,不能利用该中间件。
          2)  callbackFn可以为函数或者路由router,它就是中间件。

app.get等method的路由访问形式,与use的区别如下:
1  method形式,app.get(path,callbackFn)的callbackFn只能是函数,不能是路由router。
2  method形式匹配为精确匹配path,例如:
            app.get('/path1',callbackFn1)
            app.get('/path1/path2',callbackFn2)
        访问  /path1/path2 的时候,是不会执行callbackFn1 函数

你可能感兴趣的:(nodejs express的use中间件理解)