関係

2012-04-16 11 views
3

私は混乱しています。私が持っている主な質問は、いつ純粋なnode.jsを使うべきか、「express」や「connect」のようなフレームワーク/ MVCをいつ使うかということです。関係

"express"は単に "接続する"機能を追加していることを知っていますが、それは本当にいいのですか?私はすべての私のHTTPのものが "Apache"サーバーに対してしたいと思って、node.js(WebSocket接続、CouchDBなど)でいくつかの部分を行うだけです。

それは「表現」や、何らかの理由で「接続」を使用して、このシナリオでは意味をなさないだろうか?

私が知る限り、Socket.IOはHTTP要求をフォールバックとして処理するため、Socket.IOを使用するだけで十分でしょうか?

Expressを使用しての大きな利点は、/他に何を接続していますか?

答えて

5

エクスプレス(又は接続)は、HTTP Webアプリケーションのためのアプリケーションフレームワークです。これはアプリケーションのエントリポイントです。また、他のfunctionnalitiesが簡単に(彼らは呼ばれている使用することができます

  • リクエスト引数
  • セッション
  • ルーティング

    • HTTP Serverの
    • URL:それは、次のようないくつかの非常に共通のfunctionnalitiesを提供しますミドルウェア)、例えば、認証処理、テンプレート化。

      あなただけちょうどSocket.ioライブラリ(S.ioホームページの一例)を使用し、任意のページまたは他のAPIなし、SocketIO通じパブ/サブサービスを実装する場合:必要に応じて

      var io = require('socket.io').listen(80); 
      
      io.sockets.on('connection', function (socket) { 
          socket.emit('news', { hello: 'world' }); 
          socket.on('my other event', function (data) { 
           console.log(data); 
          }); 
      }); 
      

      をSocket.ioをより複雑なアプリケーション内で使用し、ページとAPIを提供するには、Expressと統合する必要があります(How To Useを参照)。

    0

    こんにちは私はExpressjsをしばらく使ってきました。デフォルトで提供するJadeテンプレートエンジンです。ジェイドは新しいテンプレート言語ですが、それに精通するまでには時間がかかりますが、それは非常に便利です。あなたは条件文、ミックスイン、あなたのページに変数を渡すことができます。パーシャルなどを使うことで、クライアント側のHTMLを本当に簡単にすることができます。またexpressjsはあなたのビュー、javascript、stylesheetsディレクトリ構造を設定します...適切に応答を捕まえ、htmlページをレンダリングすることがコードの行のカップルの問題です。上で議論したように、httpミドルウエアは実装するのがずっと簡単です。