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 函数
网友评论