Para un framework MVC, los conceptos básicos más o menos así (valga la simplicidad):
var view = 'I say, "{{first}} {{second}}".';
var model = {
first: 'hello',
second: function(){
return 'world';
}
};
for(item in model){
var regex = new RegExp('{{' + item + '}}', 'gi');
if(typeof(item) == 'function')
view = view.replace(regex, model[item]());
else
view = view.replace(regex, model[item]);
}
console.log(view);
inicio tan simple como sea posible y añadir pequeñas mejoras: vistas
- Store/plantillas como archivos. Esto te da la oportunidad de jugar con la E/S de archivo asíncrono de node.js.
- añadir soporte para los modelos más complejos - repitiendo artículos/matrices, objetos que contienen objetos
- añadir soporte para las plantillas dentro de las plantillas
- Fetch sus modelos a partir de una fuente de datos externa. CouchDB podría ser divertido.
- Agregue los controladores adecuados: estos objetos deben saber qué modelos van con qué vistas y cómo unirlos
- Asigne las URL de solicitud de Http a controladores y acciones -/person/55 podría obtener una persona con id 55 de sus datos repository,/person/add puede mostrar una interfaz de usuario para agregar a una persona; ambos usan un controlador de persona con las vistas que se muestran para la acción adecuada.
Eche un vistazo a mustache.js para un motor de plantilla pequeña. Tenga en cuenta que su terminología difiere de la mía en ejemplos y código. Lo que yo llamo una vista , que ellos llaman una plantilla y lo que yo llamo un modelo, que ellos llaman una vista . Es algo pequeño pero potencialmente confuso.
recursos adicionales:
Un micro-marco para hacer qué? – MooGoo
@MooGoo: Dado que él está hablando de código del lado del servidor, es probable que sea un framework MVC o MVVM. Como Rails o Django o Catalyst. – slebetman
Sí, eso es correcto. – donald