app.use() 用于在指定路径挂载一个或多个中间件函数,当请求路径的基数与路径匹配时执行中间件函数。
router.use() 用于中间件函数或函数,默认挂载路径为“/”。
但在
app.use() 你将不得不给出一个这样的指定路径:
var adsRouter = require('./adsRouter.js');
app.use('/ads', adsRouter);
或
app.use('/ads', function(req, res, next) {
// write your callback code here.
});
但在使用 router.use() 时,您只能提供中间件,如下所示:
router.use(function(req, res, next) {
console.log('%s %s %s', req.method, req.url, req.path);
next();
});
或
router.use('/test', function(req, res, next) {
// write your callback code here.
next();
});
或
//in router.js
router.use('/admin', authUtil.verifySessionId, authUtil.verifyLisencee);
router.post('/admin', controllerIndex.ads.adListingAdmin);
在上面的代码中,当端点是'/admin'时,它首先会调用authUtil.verifySessionId和authUtil.verifyLisencee,然后它会根据controllerIndex.ads执行带有'admin'端点的下一行.adListingAdmin 方法。