Вопрос

Я начинаю получать голову вокруг 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?

Это было полезно?

Решение

http://boldr.net/mvc-stack-node-js-ejsgi-Scylla-mustache. Это отличная маленькая статья с полным примером GitHub шаблоном MVC с использованием модулей узла Dirfferent. Он также перечисляет альтернативные модули, доступные в настоящее время. Это ответил на этот вопрос для меня лучше, чем http://howtonode.org/ У кого есть некоторые хорошие туты, но я не мог ничего найти на MVC.

Другие советы

Самый простой способ сделать это с Expressjs, который представляет собой MVC Framework для узла. Узел - это просто то, что он говорит, посопил ввод / вывод для сети.

Пример на http://expressjs.com. Должна помочь с основами, но чтобы ответить на ваш вопрос напрямую.

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

Townjs - популярный MVC Framework на основе

  • Mongodb (база данных)
  • Redis (фон рабочие места)
  • CoffeeScript
  • Стилус
  • Жасмин (тесты)
  • jquery

Сайт http://towerjs.org/

Источник https://github.com/viAropos/tower.

Railwayjs - это Framework MVC, написанная в JavaScript на основе ExpressJS и работает над платформой Nodejs. Он вдохновлен Ruby on Rails Framework. Вы можете прочитать о MVC Architecty of Railwayjs здесь: http://jsmantras.com/blog/railwayjs-raouting.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top