node.js - react+express同构开发,数据端与服务端需要分离吗?
巴扎黑
巴扎黑 2017-04-17 14:48:40
0
1
680

现在的提供数据服务的后台也是express的
目前准备开发一个前端,采用react+express的同构开发模式,服务端渲染页面
请问我这个前端的react+express和正在使用的express数据后台需要分离吗?
如果不需要,直接在现在的后台中+react构建前端,是否要前端工程师与后端工程师共同维护这个工程,会不会出现什么麻烦?
谢谢!!!

巴扎黑
巴扎黑

全員に返信(1)
迷茫

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 を実行します。

  • デバッグは難しい;

  • はっきり言って導入コストが高すぎて割に合わない! ! ! !

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート