nodejs理解Express中router.use app.use 拦截器 next方法 结合实例新手向
在接触express项目的时候,大家会不会经常遇到这样一个问题。这个app.use,router.use有什么区别,这个next又是做什么的? 如果你对这几个概念不清楚。请好好看下面的例子 一.app.use和router.use 如果你的代码只是上面这样写,是错误的写法。只有/app这个接口会生效,/router不会。你只需要记住这样一句话: 路由器的行为就像中间件本身,因此您可以将其用作app.use()的参数或作为另一路由器的use()方法的参数 我们用都没有用这个路由器,那它怎么生效呢?何为路由?对应着我们平时生活中使用的路由器,一个路由器有多个接口,这里的Router的概念应该就取自于此 你可能见过这样的代码,但如果这样实现起来会不会更加优雅呢? 我们可以把app看作根router,一个app里面有多个接口。比如这个test接口,而/test就是父路径,在这个testRouter中定义的router.use()都是子路径。在这个testRouter中也可以使用router.use(’/test2’,test2Router),设置子路径的子路径 app.use()和router.use()都可以第一个参数为path,第二个参数可以填一个函数(代表访问到该接口需要干什么)或者一个router。注意:router一定要被use之后才会生效,不管是被app