25

Je commence à obtenir ma tête autour Node.js, et je suis en train de comprendre comment je faire des choses normales MVC. Par exemple, voici une vue Django qui extrait deux ensembles d'enregistrements de la base de données et les envoie pour être rendus dans un modèle.Comment le code de type MVC fonctionnerait-il dans Node.js?

def view(request): 
    things1 = ThingsOne.objects.all() 
    things2 = ThingsTwo.objects.all() 
    render_to_response('template.html, {'things1': things1, 'things2': things2}) 

Que peut une fonction similaire node.js ressembler?

+0

J'ai publié un article sur les outils que j'ai utilisés pour obtenir un modèle MVC solide allant dans Node ici: http://www.travisglines.com/web-coding/a -Simple-mvc-setup-en-node-js – Travis

+0

que j'ai trouvé http://howtonode.org/ être une grande aide pour moi de se lever à la vitesse. –

Répondre

13

http://boldr.net/mvc-stack-node-js-ejsgi-scylla-mustache est un petit article avec un exemple complet github d'un modèle MVC en utilisant dirfferent modules de nœud. Il répertorie également les autres modules actuellement disponibles. Il a répondu à cette question pour moi mieux que http://howtonode.org/ qui a quelques bonnes tuts mais je ne pourrais pas trouver n'importe quoi sur MVC là.

+1

Dépôt Github donné sur le blog (boldr.net je veux dire) est mort. Si vous avez une réponse plus à jour à cette question, pouvez-vous la partager avec nous, s'il vous plaît? – scaryguy

0

La meilleure façon de le faire est avec express.js, qui est un framework MVC pour le nœud. Node est juste ce qu'il dit, E/S événementielles pour le web.

L'exemple sur le http://expressjs.com devrait aider avec les bases, mais pour répondre directement à votre question.

var express = require('express'); 

var app = express.createServer(); 

app.get('/whatever', function(req, res) { 

    Things1.objects.getAll(function(things1) { 
    Things2.objects.getAll(function(things2) { 
     var options = { locals: { things1: things1, things2: things2 }}; 
     res.render('thingstemplate.ejs', options); // or thingstemplate.jade or whatever 
    }); 
    }); 
}); 

app.listen('80', ''); // port and optional hostname to bind 
+6

Il est possible d'utiliser express avec d'autres choses pour créer un framework MVC, mais Express est ** pas ** « un framework MVC pour le nœud ». – callum

-1

RailwayJS est un framework MVC, écrit en JavaScript basé sur express.js et passe sur la plate-forme de NodeJS. Il est inspiré par le framework Ruby on Rails. Vous pouvez lire sur l'architecture MVC de RailwayJS ici: http://jsmantras.com/blog/RailwayJS-Routing