-1

私のnode.jsコードでは、次のように管理するルーターと認証がたくさんあります。

app.get('/', fn);
app.get('/admin', checkAccess, fn);
app.get('/blog', checkAccess, fn);

ルーターの数は数十以上になる可能性があります。

どうすればそれらをより適切に管理できますか?

管理モジュールはありますか?またはこのようなものですか?

4

1 に答える 1

1

例のように、複数のコールバック、または単純なデコレータ パターンを使用できます。

複数のコールバック

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));
于 2013-01-09T07:41:55.543 に答える