Lantency (遅延) サーバー側レンダリングの最初の読み込みは、クライアント側レンダリングのように JS、CSS、データをリクエストする必要がないため、非常に高速になります。それらをサーバー側でアセンブルして、文字列 html をフロントエンドに直接レンダリングします。ただし、ページ データが部分的に更新されたり、サブコンポーネントを再レンダリングする必要がある場合、ネットワーク リクエストを開始し、更新された HTML 文字列の大部分またはすべてをサーバー上で再生成する必要があるため、サーバー側のレンダリングは大幅に遅くなります。そしてそれをクライアントに返します。ただし、クライアント側のレンダリングの場合は、部分的に再更新するだけで済みます。
SEO (検索エンジンの最適化) クライアントによってレンダリングされたページは、通常、検索エンジンにとってはページの HTML のみを参照し、js は実行しません。クライアントによってレンダリングされたページが HTML テンプレートのみを返す場合、実際のコンテンツは js を実行することによって入力する必要がありますが、これは検索エンジンにとって不向きです。もちろん、解決策はあります (PhantomJS を参照)。 PhantomJS の概要とその理由) を参照しますが、これはプログラムの複雑さを増すだけなので、お勧めできません。サーバー側レンダリングの場合、完全な HTML 文字列がサーバーによって生成されており、検索エンジン分析に役立ちます。
1. サーバー側のレンダリングは、HTML 文字列を反応フロントエンドに返すだけです。反応フロントエンドは表示を担当します。
2.たとえ 2 人で共同作業を行っても問題はありません。心配しないでください。
3. クライアント側レンダリングとサーバー側レンダリングの違いをいくつか追加します (クライアント側レンダリングとサーバー側レンダリング)
Lantency
(遅延) サーバー側レンダリングの最初の読み込みは、クライアント側レンダリングのように JS、CSS、データをリクエストする必要がないため、非常に高速になります。それらをサーバー側でアセンブルして、文字列 html をフロントエンドに直接レンダリングします。ただし、ページ データが部分的に更新されたり、サブコンポーネントを再レンダリングする必要がある場合、ネットワーク リクエストを開始し、更新された HTML 文字列の大部分またはすべてをサーバー上で再生成する必要があるため、サーバー側のレンダリングは大幅に遅くなります。そしてそれをクライアントに返します。ただし、クライアント側のレンダリングの場合は、部分的に再更新するだけで済みます。SEO
(検索エンジンの最適化) クライアントによってレンダリングされたページは、通常、検索エンジンにとってはページの HTML のみを参照し、js は実行しません。クライアントによってレンダリングされたページが HTML テンプレートのみを返す場合、実際のコンテンツは js を実行することによって入力する必要がありますが、これは検索エンジンにとって不向きです。もちろん、解決策はあります (PhantomJS
を参照)。 PhantomJS の概要とその理由) を参照しますが、これはプログラムの複雑さを増すだけなので、お勧めできません。サーバー側レンダリングの場合、完全な HTML 文字列がサーバーによって生成されており、検索エンジン分析に役立ちます。ブラウザの概念と問題
(ブラウザの概念と問題) サーバー側のレンダリングにより、ページはドキュメント
の定義が保証され、クライアントは次の方法でページ ドキュメントを要求します。プログラムではなくドキュメントのテキストを取得して、フロントエンドで実行する必要があります。ブラウザの互換性の問題もあります。クライアントがブラウザにレンダリングする操作が増えると、互換性の問題が発生する可能性が高くなります。注:
PhantomJS
概要PhantomJS
はヘッドレス ブラウザですPhantomJS
は、クライアント側のレンダリングが検索エンジンにとって不親切であるという問題を解決できます。データが返される前にHTML/JavaScript/CSS
を変更できます。クライアントはプリレンダリングを実行します。これは、ページがロードされるときにすべての初期化 JS が実行されることを意味します。クライアント側のレンダリングが検索エンジンにとって不親切であるという問題を解決できるので、使用しない手はありません。
主な理由:
リクエストごとに
PhantomJS
のインスタンスを開始すると、検索エンジンが複数のページを同時にクロールすると、マシンのパフォーマンスに影響します。PhantomJS
は古いバージョンの js を実行します。デバッグは難しい;
はっきり言って導入コストが高すぎて割に合わない! ! ! !