回复 (6)
K
app.use是使用中间件,第一个参数是router,然后是回调函数,next是执行完成后会执行下一个,应用场景个人理解和java里面的filter差不多的..
D
引用 kenticnyapp.use是使用中间件,第一个参数是router,然后是回调函数,next是执行完成后会执行下一个,应用场景个人理解和java里面的filter差不多的..
java里的filter由于静态语言的限制,远没有nodejs里使用中间件方便,所以想spring框架用filter不多,基本都在controller解决问题,只能说,node的异步编程模式和filter很契合。
T
var stack = []; app.use(path1, fn1) => stack.push(fn1); app.use(path2, fn2) => stack.push(fn2); ...
当请求req.url中pathname === '/path/xxxxxx?'时, stack.forEach(function(fn) { fn.qpply(调用环境, 调用参数); });
use相当于压栈
J
:id? 是正则匹配
Y
哦。。谢谢各位!!
J
前面的都回答了,路由中间件的派遣模式 这个在处理static层之前。 next()是关系到中间件顺序的,要理解应用场景 可以好好看一次connect第三方模块的源码
参与回复
登录后即可参与回复。登录