在我的node.js
代码中,我有很多路由器和身份验证需要管理,例如:
app.get('/', fn);
app.get('/admin', checkAccess, fn);
app.get('/blog', checkAccess, fn);
可能是路由器数量可能是几十个或更多,
我怎样才能更好地管理它们?
有管理模块吗?或类似的东西?
在我的node.js
代码中,我有很多路由器和身份验证需要管理,例如:
app.get('/', fn);
app.get('/admin', checkAccess, fn);
app.get('/blog', checkAccess, fn);
可能是路由器数量可能是几十个或更多,
我怎样才能更好地管理它们?
有管理模块吗?或类似的东西?
根据您的示例,您可以使用多个回调,也可以使用简单的装饰器模式。
多个回调
function checkAccess(req, res) {
// check for access
if (!access) {
res.send(403);
}
}
app.get('/', fn);
app.get('/admin', checkAccess, fn);
app.get('/blog', checkAccess, fn);
简单的装饰器模式
function requiresAccess(fn) {
return function (req, res) {
// check for access
if (access) {
fn(req, res);
} else {
res.send(403);
}
}
}
app.get('/', fn);
app.get('/admin', requiresAccess(fn));
app.get('/blog', requiresAccess(fn));