Javascript MVC希望Node.js中的代码如何工作?

Javascript MVC希望Node.js中的代码如何工作?,javascript,model-view-controller,server-side,node.js,serverside-javascript,Javascript,Model View Controller,Server Side,Node.js,Serverside Javascript,我开始关注node.js,我想知道如何做普通的MVC。例如,这里有一个Django视图,它从数据库中提取两组记录,并将它们发送到模板中进行呈现 def view(request): things1 = ThingsOne.objects.all() things2 = ThingsTwo.objects.all() render_to_response('template.html, {'things1': things1, 'things2': things2}) 类

我开始关注node.js,我想知道如何做普通的MVC。例如,这里有一个Django视图,它从数据库中提取两组记录,并将它们发送到模板中进行呈现

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

类似的node.js函数可能是什么样的?

是一篇很棒的小文章,其中有一个完整的github示例,介绍了使用不同节点模块的MVC模式。它还列出了当前可用的备用模块。对我来说,它回答了这个问题,比有一些好的tut更好,但我在MVC上找不到任何东西。

最简单的方法是使用expressjs,这是一个针对Node的MVC框架。节点就是它所说的web事件I/O

上的示例应该对基础有所帮助,但可以直接回答您的问题

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

TowerJS是一个流行的基于

  • MongoDB(数据库)
  • Redis(后台工作)
  • 咖啡脚本
  • 触笔
  • 茉莉花(测试)
  • jQuery
场地


Source

RailwayJS是一个MVC框架,使用基于ExpressJS的JavaScript编写,并在nodeJS平台上运行。它的灵感来自RubyonRails框架。您可以在此处阅读RailwayJS的MVC架构:

可以将Express与其他工具结合使用来创建MVC框架,但Express不是“节点的MVC框架”。博客(我的意思是boldr.net)上提供的Github存储库已经死了。如果你对这个问题有一个更新的答案,你能与我们分享吗?我发现这对提高我的速度有很大的帮助。我在这里发布了一篇博客文章,介绍了我用来获得可靠MVC模式的工具: