6

私は backbone.js シングルページ アプリをすべてルーターでセットアップしています (まあ、実際には Backbone.Marionette AppRouter を使用した Backbone.Marionette アプリですが)。ただし、バックエンドは Django に基づいており、既に backbone.js ルートにあるすべての URL のビューを指定する URL conf がありません。

Django URL conf の既存の URL に基づいて、Backbone.js は Django conf に何がリストされているかに関係なく、バックボーン ルートを提供します。

古いブラウザー/SEO にフォールバックを提供するには、適切な Django ビューが必要ですか?

Django URL conf と Backbone.js ルーターを調整するためのベスト プラクティスは何ですか?

4

2 に答える 2

2

この問題に非常によく対処している投稿を見つけました。

http://duganchen.ca/single-page-web-app-architecture-done-right/

簡単に言うと、フォールバックを含める理由は、JavaScript 以外のブラウザーと SEO の理由によるものです。この投稿の時点で、非 JavaScript ブラウザーはユーザーの ~1.4% (私が読んだすべてのデータの 2% 未満) を占めており、SEO が主要な考慮事項になっています。繰り返しますが、SEO はこの投稿を読んでいるすべての人に関係があるとは限りません。その場合、これはスキップできます。

Phantom.jsを使用した Thomas Davis のチュートリアルは非常に役に立ちました。http://backbonetutorials.com/seo-for-single-page-apps/

ただし、説明する必要があるもう 1 つの問題は、最新の IE ブラウザーを除くすべてで無視されてきた history API でした。クライアントのユーザーの約 15% が IE <= 9 を使用していることを考えると、これも問題でした。

In the end, I also needed to use history.js. All in all, this was a lot of work to update an otherwise very simple website. However, I learned a lot from this ordeal.

于 2012-12-28T01:39:52.377 に答える
1

私の意見では、バックボーン アプリが本当に単一のページである場合、django ビューはまったく必要ありません。index.html を静的ファイルとして提供し (本番環境では、django でさえ)、バックボーンのルーターに URL 構成を処理させることができます。これは既に行っていることです。アプリのリソースに対して、バックボーンの履歴を使用して、偽の URL に移動したり、URL パラメータを追加したりできます。

于 2012-12-27T15:32:55.060 に答える