Подтвердить что ты не робот

Как MVC-подобный код работает в Node.js?

Я начинаю обнимать 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?

4b9b3361

Ответ 1

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

Ответ 2

Самый простой способ сделать это - с помощью expressjs, который представляет собой структуру MVC для Node. Node - это то, что он говорит, событие ввода/вывода для Интернета.

Пример 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

Ответ 3

TowerJS - популярная среда MVC, основанная на

  • MongoDB (база данных)
  • Redis (фоновые задания)
  • CoffeeScript
  • Stylus
  • Жасмин (тесты)
  • JQuery

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

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

Ответ 4

RailwayJS - это структура MVC, написанная на JavaScript на основе ExpressJS и работающая над платформой nodeJS. Он вдохновлен каркасом Ruby on Rails. Вы можете прочитать о архитектуре MVC RailwayJS здесь: http://jsmantras.com/blog/RailwayJS-Routing