4

ユニバーサル/同形の JavaScript アプリ (Express/Redux/React) を構築しています。React Router を使用したクライアントでのルーティングおよび/または Express を使用したサーバーでのルーティングを検討しています。

クライアント側のルーティングは、ユーザーとのやり取りがよりシームレスになるため、シングル ページ アプリで一般的になっていることを私は知っています。

ただし、クライアント側とサーバー側のルーティングをよりよく理解しようとしています。アプリケーション (単一ページであるかどうかにかかわらず) を構築するときに誰かが遭遇する可能性がある、クライアント側ルーティングの潜在的な欠点は何ですか? また、サーバーでのルーティングを検討するのに最適な時期はいつでしょうか? 大規模なアプリケーションは一方 (クライアント/サーバー) だけでルーティングしますか、それとも 2 つをブレンドすることがよくありますか?

ありがとうございました!

4

2 に答える 2

3

クライアント側のルーティングを避ける正当な理由はありません。反応ルーターのようなものを使用している場合、これはクライアントとサーバーの両方のルーティングであり、難しいことは何もありません。一部の人々があなたに難しいと言うかもしれないいくつかの特定の分野:

  • SEO。これは無料で提供されます。ヒットした URL はサーバー上で正しくレンダリングされ、クライアントに送信されるため、Googlebot はページを正しく認識します。サーバー側のリダーリングを行っている場合、クライアント側のルーティングでは SEO がより困難であるという提案にはまったく真実はありません。
  • 分析。簡単ga('send', 'pageview', path)です。クライアント側でナビゲーションを処理している場所に配置するだけです (ルーターをトリガーしてパスを変更する直前)。
  • リソース。サイト全体が非常に大きい場合、ページが最初に読み込まれたときに全体をクライアントに送信したくありません。これにはもう少し複雑さが必要になります (たとえば、webpack で複数のエントリ ポイントを定義するなど)。数百ページのサイトがある場合、クライアント側のルーティングはいずれにしてもメリットが少なくなります。

このサイト(私自身) は、クライアント側のレンダリングを使用しています。JavaScript をオフにしても問題なく動作することがわかります ( Google が正しく認識していることを確認するための最善の方法です) 特定の作品がどのように行われたかを確認したい場合は、ソースがここにあります。

于 2015-09-10T03:28:06.153 に答える