Generación de URL para rutas en Express

Estoy considerando usar Express framework en mi próximo proyecto node.js. Sin embargo, un obstáculo para mí es la no existencia de la generación de URL para rutas como en la mayoría de los otros marcos no basados ​​en Sinatra, ejemplos: Django, Flask, Rails, etc.

Intenté buscar un poco de middleware Connect para cumplir mi tarea y encontré a Barista, Escort, Sherpa y similares, pero al mirar sus páginas de GitHub, todos parecían muertos y activos. Entonces, no quiero ir por algo que ya no se mantiene por razones obvias.

Mi principal preocupación aquí es que el proyecto puede ser realmente grande y SERÁ una molestia actualizar las URL en cada página siempre que cambien los requisitos de negocios y / o estéticos.

¿Hay algo que no pude ver en los documentos / pruebas? De lo contrario, ¿cómo extiendo el marco de enrutamiento en Express para generar la URL y hacer que este contenedor esté disponible en mis vistas, así como en las funciones del controlador?

ACTUALIZACIÓN: (22/3/2012) Encontré esta página: https://github.com/clyfe/tweet_express/wiki/TODO que especificó algunos enrutadores que realizan la generación de URL y se topó con el enrutador de escolta que también puede interactuar con Express.

Puede probar la locomotora , que se basa en Express.

Hace mucho más que la generación de rutas. De los documentos: “Locomotive trae una estructura adicional basada en MVC, para la architecture de aplicaciones más grandes, al tiempo que aprovecha la potencia del middleware Express y Connect”.

El enrutador de la locomotora genera ayudantes que están automáticamente disponibles para los controladores y las vistas.

O quédate con Express y utiliza el paquete reversable-router .

Ejemplo del readme:

app.get('/admin/user/:id', 'admin.user.edit', function(req, res, next){ //... }); //.. and a helper in the view files: url('admin.user.edit', {id: 2})