快速路由器与子路由器
假设父模块有一个使用公共请求的路由器
父模块
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
的第一个参数的根目录。