web-dev-qa-db-ja.com

ハッシュなしの小さな単一ページアプリケーションルーター

わかりましたので、私はしばらくこの問題についてググってきましたが、良いシングルページアプリケーションルーターに必要なものが見つからないようです。私が欲しいもの:

  1. Jscriptルーターライブラリ
  2. ハッシュタグ/ハッシュバンを行わないルーター
  3. Example.comが私のサイトなので、次のように処理されます。
  4. JavaScriptが無効になっている場合、サーバーは、サーバーがそれ自体を処理できる同様の内部リンクを含む、有効な静的HTMLページ(検索インデックス作成にも役立ちます)を返します<-この部分は自分で行うことができます
  5. JavaScriptが有効になっている場合、サーバーは同じ静的ページを返しますが、ルータースクリプトはリンクがクリックされるのを防ぎ、匿名関数(ほとんどのルーターライブラリの場合と同様)を使用してリクエスト自体を処理します。 JavaScriptを介した動的JSONデータを持つDOM。
  6. 履歴を正しく処理します。
  7. 小さい(自分で以前に選択したフレームワークがすでにある場合は、拡張フレームワークをロードしたくない)

そのように存在する図書館はありますか?私は crossroads.js を見ました、それは素晴らしいようですが、hashbangs/hashtags/hashesを行います。私は Backbone.js を調べましたが、その多数の機能と6.5Kbサイズを備えており、あまり熱心ではありません。これは その場でかなり多かった ですが、彼のライブラリは十分にサポートされていなかったようです。私は この素早い試みにかなり驚いた でしたが、クロスブラウザが十分に含まれているか、十分にサポートされているようには見えませんでした。あと数百ありますが、どれを選べばいいのかわかりません。他の誰かが単一ページアプリケーションのこのかなり些細な機能に遭遇しましたか?

17
Florian Mertens

ページ が見つかりました。

ページは、単一ページアプリケーション(SPA)の構築に使用する小さなクライアント側ルーティングライブラリです。 Expressに触発されたシンプルなAPIがあります。これは、内部でHTML5履歴APIを利用します。これにより、アプリのさまざまなページにリンク可能なURLを維持しながら、スムーズなユーザーインターフェイスを構築できます。

また、ページ状態のキャッシュも行います。これは、私の最後に適切に実装した後、本当にきれいに機能します。

10
Florian Mertens

これが 簡単なチュートリアル History APIと連動しています。 URLのハッシュを避けたい場合があるため、URLが変更された場合、一部のブラウザーはページをリロードする傾向があることに注意してください。

5
vorillaz