3

よくわかりません。私が持っている主な質問は、純粋な node.js をいつ使用するか、いつ「express」や「connect」などのフレームワーク/MVC を使用するかということです。

「エクスプレス」が「接続」に一連の機能を追加するだけであることは知っていますが、それは本当に何に役立ちますか? たとえば、すべての HTTP 処理を「Apache」サーバーに対して実行し、node.js では部分的な処理 (WebSocket 接続、CouchDB など) のみを実行したいとします。

このシナリオで、何らかの理由で「エクスプレス」または「接続」を使用することは理にかなっていますか?

私の知る限り、Socket.IO はフォールバックとして HTTP リクエストも処理します。

Express/Connect を使用する大きな利点は他に何ですか?

4

2 に答える 2

5

Express (または Connect) は、HTTP Web アプリケーションのアプリケーション フレームワークです。これは、アプリケーションのエントリ ポイントです。次のような非常に一般的な機能を提供します。

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

また、認証処理やテンプレート作成など、他の機能 (ミドルウェアと呼ばれます) を簡単に使用できるようにします。

ページやその他の API を使用せずに、SocketIO を介して pub/sub サービスを実装するだけの場合は、Socket.io ライブラリ (S.io ホームページの例) を使用します。

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);
    });
});

ページと API を提供するより複雑なアプリケーション内で Socket.io を使用する場合は、Express と統合できます (使用方法を参照) 。

于 2012-04-16T13:40:39.830 に答える
0

こんにちは、私はしばらくの間 Expressjs を使用してきましたが、デフォルトで提供される Jade テンプレート エンジンに特に役立つことがわかりました。Jade は新しいテンプレート言語であり、慣れるまでに時間がかかることは認めますが、非常に便利です。コンディショナル、ミックスイン、ページへの変数の渡し、パーシャルの使用などを記述できます。これにより、クライアント側の HTML が非常に簡単になります。また、expressjs は、ビュー、javascript、スタイルシートのディレクトリ構造をセットアップします... 適切に従えば、応答をキャッチして HTML ページをレンダリングするのは、数行のコードの問題です。上で説明したように、http ミドルウェアは実装がはるかに簡単です。

于 2012-04-16T16:01:32.417 に答える