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中间件理解
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...