25

私は node.js に頭を悩ませ始めており、通常の MVC をどのように行うかを理解しようとしています。たとえば、データベースから 2 セットのレコードを取得し、それらを送信してテンプレートにレンダリングする Django ビューを次に示します。

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

同様の node.js 関数はどのように見えるでしょうか?

4

4 に答える 4

13

http://boldr.net/mvc-stack-node-js-ejsgi-scylla-mustacheは、さまざまなノードモジュールを使用したMVCパターンの完全なgithubの例を含むすばらしい小さな記事です。また、現在利用可能な代替モジュールも一覧表示されます。http://howtonode.org/にはいくつかの良いタットがありますが、MVCで何も見つかりませんでした。

于 2011-03-06T11:15:43.010 に答える
0

これを行う最も簡単な方法は、Node.js の MVC フレームワークである Expressjs を使用することです。Node はまさにその名の通り、Web のイベント I/O です。

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
于 2011-03-22T20:22:47.020 に答える
0

TowerJS は、に基づく人気のある MVC フレームワークです。

  • MongoDB (データベース)
  • Redis (バックグラウンド ジョブ)
  • コーヒースクリプト
  • スタイラス
  • ジャスミン(テスト)
  • jQuery

サイトhttp://towerjs.org/

ソースhttps://github.com/viatropos/tower

于 2012-05-15T06:31:44.447 に答える
-1

RailwayJS は、ExpressJS に基づいて JavaScript で記述され、nodeJS プラットフォーム上で実行される MVC フレームワークです。Ruby on Rails フレームワークに触発されています。ここで RailwayJS の MVC アーキテクチャについて読むことができます: http://jsmantras.com/blog/RailwayJS-Routing

于 2012-11-12T13:01:19.763 に答える