2012-03-17 7 views
6

私はNode.jsにMongoDBデータベースを使って小さなアプリケーションを開発しています。静的ファイルと初期index.htmlを処理するためにnginxが前面にあります。WebSocket接続を介してHTMLを送信することは悪い習慣です

index.htmlにアクセスすると、すべてのjavascript/css/imgファイルがロードされ、websocket接続がnode.jsサーバーに行われます。

最初はindex.htmlが空ですが、正しいテンプレートファイルで埋め込む必要があります。私ができることの1つは、通常のajax reqを行うことです。

$ .get( 'myfile.html')、それを自分のコンテンツに追加します。 websocketはデータベースのデータを処理するだけです。


は今、私はすでに、なぜ私は、データベースからのデータと一緒に.htmlのテンプレートを転送し、クライアントでそれをマージしていない、オープンなWebSocketの接続サーバーを持っています。

テンプレートファイルはほんの少しのhtmlスニペットで、なぜhttp reqを無駄にするのですか?


このアプリケーションは、完全なhtml5ブラウザをサポートしている選択ユーザーのみが使用できることに注意してください。フォールバックの状況は必要ありません。

+0

あなたは[Backbone.js](http://documentcloud.github.com/backbone/)を試しましたか? – cormacrelf

+0

はい、同期機能が動作しませんでした。オンラインでいくつかの例がありますが、彼らは私のニーズを複雑にしています。私がすでに持っているロジックのほとんどは、WebSocketがhtmlに使用できるかどうかを知りたいだけです。 –

答えて

5

HTTPは、ファイルを配信するのに非常に適しており、潜在的には複数のレイヤーでキャッシュされているため、ユーザーに何度もHTMLコンテンツを複数回送信する必要はありません。 upsidesは欠点よりも重要です。関連するコンテンツとともにindex.htmlを送信し、index.htmlのテンプレートを(たとえばjQuery templatesのように<script id="fooTemplate" type="text/x-jquery-tmpl">タグを使用できるように)持っているようです。

明らかに、あなたはになります。はWebSocketでテンプレートを送信します。

+0

答えをありがとう、それはまさに私がやりたいことです。私はすでにjQueryテンプレートを使用していて、かなりうまく動作します。すばらしいです! –

関連する問題