-1
在我node.js
的代碼,我有很多路由器和認證管理,如:Node.js:如何更好地管理路由器和身份驗證?
app.get('/', fn);
app.get('/admin', checkAccess, fn);
app.get('/blog', checkAccess, fn);
可以爲路由器數量承擔責任:水災是十幾個甚至更多,
我怎麼管理他們更好?
是否有管理模塊?或類似的東西?
在我node.js
的代碼,我有很多路由器和認證管理,如: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));