Comment monter app.get() itinéraires sur un préfixe de chemin

Je suis en train d'écrire une API à l'aide de Node.js et Express. Mon API a OBTENIR des méthodes de la forme:

/api/v1/doSomething
/api/v1/doSomethingElse

Mon code est à la recherche de quelque chose comme ceci:

server.js:

var app = express();
...
var routes = require('./routes')
routes.attachHandlers(app, '/api/v1')

routes/index.js

...
module.exports.attachHandlers = function(app, context) {
    //get a list of all the other .js files in routes
    //for each route, require() it and call it myRoute
    myRoute.attachHandlers(app, context)
}

routes/some-route.js

...
module.exports.attachHandlers = function(app, context) {
    app.get(context + '/doSomething', doSomething)
    app.get(context + '/doSomethingElse', doSomethingElse)
}
...

Effectivement je suis de passage le chemin de contexte/point de montage vers le bas par le biais de l'application. Si quelqu'un devait écrire une route comme la suivante, cependant, le contexte serait perdue:

app.get('/doFoo', foo)

Plutôt que d'avoir la partie de l'API monté sur /api/v1/doFoo c'est sur /doFoo. Je voudrais éviter d'avoir à passer le chemin de contexte autour de ce genre.

app.utilisation prend en charge le montage middleware sur une option de chemin de montage. J'ai vu des références en ligne pour le montage de l'ensemble d'une demande Expresse sur un chemin de montage à l'aide de app.use. Cela semble être le genre de chose que je veux faire, mais je ne suis pas sûr de savoir comment faire ou si c'est la meilleure solution pour mon cas d'utilisation particulier.

Pour résumer - je veux monter mon application.get() les routes avec un préfixe particulier par défaut. Quelle est la meilleure façon de le faire?