7

私はember.jsを介して非常に動的なWebアプリケーションを開発しています。クライアント側はサーバー側のJSONAPIと通信します。ユーザーはさまざまな選択を行うことができ、あらゆる種類の観点からダイスカットおよびフィルター処理されたデータを表示できます。このデータはすべて、上記のAPIから取得されます。

つまり、同じデータから静的ページ(Googleが理解できる)も生成する必要があります。これらの静的ページは事前定義されたビューを表し、多くの対話を許可しません。これらは、検索エンジンからアクセスするユーザーのランディングページとして機能することを目的としています。

当然、動的Webアプリケーションから可能な限り再利用してこれらの静的ページを生成したいので、私が考えた自然な方向は、サーバー側モジュールを実装してこれらのページをレンダリングし、私のEmber.jsビューとコードの可能性。

しかし、その上に資料が見つかりません。Emberのドキュメントには、「サーバー側でEmber.jsを使用することは可能ですが、それはこのガイドの範囲を超えています」と書かれています。

サーバー側で再利用できるものと、そのような再利用を最大限に可能にする方法でアプリを設計するためのベストプラクティスを誰かが指摘できますか?

もちろん、ここでの私の考えが意味をなさないと思うなら、私もこれ(そしてその理由)を聞いてうれしいです:-)

ありがとう!C。

4

2 に答える 2

5

Handlebars - Ember のテンプレート エンジン - はサーバー上で (少なくとも Node.js では) 実行されます。私は自分のプロジェクトでそれを使用しました。

ページの HTTP リクエストを処理する場合、既存のテンプレートを使用する可能性が非常に高くなります。関連するデータを DB からプルし、JSON オブジェクトに変換し、適切なテンプレートとともにハンドルバーにフィードし、結果をクライアントに送信します。 .

于 2012-06-23T22:01:39.423 に答える
3

http://phantomjs.org/をご覧ください 。これを使用して、サーバー上のページをレンダリングし、プレーンなhtmlバージョンを返すことができます。

あなたはそれをグーグルのajaxクロールガイドに従うようにする必要があります:https ://developers.google.com/webmasters/ajax-crawling/docs/getting-started

于 2012-08-20T14:32:21.560 に答える