私の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));