Web サイトのメイン ビューとして AngularJS を使用して SPA を作成しようとしています。私はサーバー側で ServiceStack を使用しているため、何がアクセスしているかに応じて、HTML または JSON リクエストをきれいに処理できます。私の主な懸念は、AngularJS がページを適切にレンダリングするのを妨げるスクリプト ブロッカーの使用です。これまでのところ、私の主な作業方法は、静的ページをレンダリングし、Javascript が有効になっているかどうかを検出した場合に AngularJS を利用したページにリダイレクトする小さなスクリプトを挿入することです。ユーザーが静的ページを開始すると、すべての URL が正常に機能するため、これはうまく機能しますが、いくつかの問題に遭遇しました。
- JavaScript が無効になっている場合、「?View=SPA」を含むリンクを参照するとページが壊れます
- これにより、ロードされた最初のページが 2 回ロードされます。
代替手段を探していますが、これまでのところ、きれいな解決策は見つかりませんでした。「?View=SPA」を POST 変数として含めることを考えていましたが、その実装にはまだ不安があります。
何かご意見は?