0

私はウェブアプリを持っています。基本的には、単一ページのアプリケーションです。最初のページは index.html と呼ばれるフラットな html ファイルで、require.js を指すスクリプト宣言が 1 つ含まれています。そこから、backbonejs を使用してクライアント側のロジックを処理します。index.html は nodejs によって提供されています。

私の問題は、ページ内のアクション、たとえばリンクをクリックすると、バックボーンルーターが呼び出されることです。これは、単一ページのアプリケーションにしたい動作です。

例: www.testserver.com次に、プッシュ状態のバックボーン ルーター経由で登録www.testserver.com/registerのモーダル画面を表示するリンクをクリックします。

アプリ内の特定のリンクにアクセスする代わりに、ブラウザーで直接 URL を開くと、問題が発生します。たとえば、ブラウザにwww.testserver.com/registerを貼り付けます。その後、リクエストはノードルーターに送信されます。ページがまだ存在しないため、これは正しい動作であると想定しています。つまり、バックボーン ルーターも存在しません。

これに対する正しい回避策は何なのか、私は疑問に思っていました。このリンクにアクセスしたら、どうすればよいですか? 正しい動作をバックボーン アプリケーションに戻すにはどうすればよいですか。

どうもありがとうございました。

4

2 に答える 2

2

サーバーは常に index.html ページを返す必要があります。バックボーンでルーターを起動すると、ルーターはナビゲーションを処理し、実際のルートに対して定義した関数を呼び出します。

于 2012-09-07T14:41:50.097 に答える
0

それぞれの一意の URL が独自のメタデータをロードするような SEO タイプのことを行う必要がないと仮定すると、常に同じ index.html を提供するだけです。ただし、URL に基づいて異なる静的ヘッド コンテンツが必要な場合は、パスに基づいてノード内でそれを行う必要があります (たとえば、少し動的な初期ビュー テンプレートに挿入する各ルートのメタデータの配列を保持し、既存のフラットな index.html で)

于 2012-09-07T21:44:05.460 に答える