9

シングルページアプリのバックボーンについてデューデリジェンスを行っていますが、サーバー側のクライアントから同じビュー/ルートを再利用して、GoogleがプッシュステートURLにアクセスしたり、アクセスしたりすることができるかどうか疑問に思っています。サーバーは、クライアントのバックボーンによって生成されるのとまったく同じHTMLを直接生成できます。

クライアントとサーバーの2つの別々のビュー/ルートのセットを維持する必要があるのは面倒です。githubでバックノードプロジェクトを見たことがありますが、これは少しポイントを逃しているようで、同じバックボーンルーターを2回作成する必要があります。

バックボーンでプッシュステートURLを使用し、サーバーから同じビューを提供する必要がある場合、一般的にどのようにケースを処理しているのか疑問に思っていますか?人々はコードを複製していますか、それとももっと良い方法がありますか?

4

2 に答える 2

5

私はまだこれを試していませんが、node.jsとバックボーンを使用したこれらのアイデアが役立つかもしれません:

http://andyet.net/blog/2011/feb/15/re-using-backbonejs-models-on-the-server-with-node/

http://bennolan.com/2010/08/13/pushstate-and-nodejs.html

基本的に、同じことを2回書かないようにする唯一の方法は、node.jsサーバーとフロントエンドクライアントの両方に同じルーティング/モデルコードを共有させることです。サーバー側で他のもの(Rubyなど)を使用している場合は、アプリサーバーの前にnode.jsを配置する必要があります。次に、新しいクライアント(プッシュ状態とクライアントjs)のnode.jsプロキシを作成し、古い/ボットクライアントのレンダリング作業を実際に行います。

もう1つのオプションは、jQueryMobileが実行するHijaxメソッドを実行することです。大量のHTML5ページを作成するというアイデア(ルーティングを確認する必要があります)。

また、完全を期すために、GoogleがAJAXをクロールする方法に注意する必要があります:http ://code.google.com/web/ajaxcrawling/docs/getting-started.html

于 2011-09-01T13:09:25.560 に答える
0

このプロジェクトは、あなたがやろうとしていることを正確に実行します。ぜひチェックしてみてください。 https://github.com/developmentseed/bones

于 2013-01-07T15:21:04.820 に答える