25

Node.js'yi başıma takmaya başlıyorum ve normal MVC öğelerini nasıl yapacağımı anlamaya çalışıyorum. Örneğin, burada iki kayıt grubunu veritabanından alan ve bunları bir şablonda işlenecek şekilde gönderen bir Django görünümüdür.MVC benzeri kod Node.js'de nasıl çalışır?

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

Benzer node.js işlevi nasıl görünebilir?

+0

Node'da katı bir MVC modeli almak için kullandığım araçlarla ilgili bir blog yazısı yayınladım: http://www.travisglines.com/web-coding/a -simple-mvc-setup-in-node-js – Travis

+0

http://howtonode.org/ beni hızlandırmaya yardımcı olmak için büyük bir yardım aldım. Blogda verilen –

cevap

13

http://boldr.net/mvc-stack-node-js-ejsgi-scylla-mustache dirfferent Düğüm modülleri kullanılarak bir MVC deseninin tam bir github örneğiyle harika bir küçük makaledir. Aynı zamanda mevcut olan alternatif modülleri de listeler. Bu soru benim için iyi bir tutkusu olan http://howtonode.org/'dan daha iyi cevapladı ama MVC'de bir şey bulamadım.

+1

Github deposu (boldr.net demek istiyorum) öldü. Bu soru için daha güncel bir cevabınız varsa, lütfen bizimle paylaşabilirsiniz. – scaryguy

0

Bunu yapmanın en kolay yolu, düğümler için MVC çerçevesi olan expressJ'lerle ilgilidir. Düğüm sadece söylediği şey, web için G/Ç olayıdır.

http://expressjs.com'daki örnek, temel bilgiler konusunda size yardımcı olmalıdır, ancak doğrudan sorunuzu yanıtlamak için.

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

Bir MVC çerçevesi oluşturmak için Express'i başka şeylerle birlikte kullanmak mümkündür, ancak Express, ** "Düğüm için bir MVC çerçevesi" değildir. – callum

-1

RailwayJS bir MVC framework, ExpressJS dayalı JavaScript ile yazılmış ve nodeJS platformu üzerinde çalışır. Ruby on Rails çerçevesinde esinlenmiştir. RailwayJS'in MVC mimarisini buradan okuyabilirsiniz: http://jsmantras.com/blog/RailwayJS-Routing

İlgili konular