2012-06-18 13 views
75

Nuevo en Node.js y Express, estoy tratando de entender que los dos conceptos parecen superponerse, rutas vs controlador.Node.js + Express: Rutas vs controlador

He visto ejemplos que simple hace app.js + routes/*, esto parece ser suficiente para enrutar varias solicitudes necesarias.

Sin embargo, también veo que la gente habla sobre el uso de controladores, y algunos que implican un modelo MVC más formal (???).

Sería grandioso si alguien me puede ayudar a aclarar este misterio, y si tiene un buen ejemplo para configurar el controlador en Node.js + Express framework ¡será genial!

Gracias,

Respuesta

98

Uno de los aspectos más interesantes del Express (y el Nodo en general) es que no empuja una gran cantidad de opiniones sobre ti; uno de los inconvenientes es que no genera ninguna opinión sobre usted. Por lo tanto, eres libre (¡y obligatorio!) Para establecer dichas opiniones (patrones) por tu cuenta.

En el caso de Express, definitivamente puede usar un patrón MVC, y un controlador de ruta ciertamente puede cumplir el rol de controlador si lo desea, pero debe configurarlo de esa manera. Un gran ejemplo se puede encontrar en el Express examples folder, llamado mvc. Si mira lib/boot.js, puede ver cómo han configurado el ejemplo para requerir cada archivo en el directorio controllers y generar las rutas Express sobre la marcha dependiendo del nombre de los métodos creados en los controladores.

+0

El primer párrafo de [esta respuesta bastante inteligente] (http://stackoverflow.com/a/12957755/444255) también ofrece una buena explicación/distinción entre los dos términos. –