快速路由器与子路由器

假设父模块有一个使用公共请求的路由器

父模块

app.get("/speakers",... app.get("/agenda",... etc. 

另一个通配符路由实际上将请求委托给子模块,以处理父模块不需要知道或关心的所有嵌套操作。

 app.all("/admin/*/*" //delegates task to another module 

子模块

子模块收到pipe理请求,但它必须处理所有的URI,路由和参数

喜欢

 /admin/login /admin/dashboard/events /admin/dashboard/events/1 //could go deeper 

如何在这个嵌套级别有另一个级别的路由parsing或引擎?

你可以把你的pipe理路线组织成一个单独的模块,如下所示:

/routes/admin.js

 var login = function(req, res, next) { res.end(); } // etc... module.exports = express.Router() .post('/login', login) .get('/dashboard/events', listEvents) .get('/dashboard/events/:id', findEvent); 

然后在你的app.js中

 var admin = require('./routes/admin'); app.use('/admin', admin); 

请注意,您在admin路由中定义的路由都将相对于您指定为app.use的第一个参数的根目录。