React サーバーサイド レンダリング ガイド: フロントエンド アプリケーションのパフォーマンスを向上させる方法
要約: フロントエンド アプリケーション開発の継続的な開発により、パフォーマンスの最適化が可能になります。は極めて重要な問題となっている。サーバーサイド レンダリング (SSR) は、フロントエンド アプリケーションのパフォーマンスを向上させる効果的な方法として、ますます多くの開発者によって選択されています。この記事では、React サーバー側レンダリングの原則と実践方法を紹介し、読者がフロントエンド アプリケーションのパフォーマンスを向上させるのに役立つ具体的なコード例を示します。
サーバーサイド レンダリングは、サーバー側でフロントエンド コードを実行し、HTML ページを生成するテクノロジーです。従来のフロントエンド アプリケーションは、JavaScript を使用してブラウザ側でページをレンダリングし、ユーザーがアクセスすると、ブラウザは JavaScript コードをダウンロードして実行し、ページ コンテンツを生成します。サーバー側レンダリングは、このプロセスをサーバー側に進め、ユーザーが要求したときに完全な HTML ページを生成します。これにより、ブラウザーの負担が軽減され、ページの読み込み速度とユーザー エクスペリエンスが向上します。
React はコンポーネントベースの JavaScript ライブラリであり、その利点は仮想 DOM (Virtual DOM) の使用にあります。仮想 DOM は、React がコンポーネント ツリーを JavaScript オブジェクトとして表現するために使用するテクノロジーであり、レンダリングの前後で仮想 DOM ツリーの違いを比較することで、ブラウザーの再描画や再配置を削減し、ページのレンダリング効率を向上させることができます。
サーバー側レンダリングでは、React はまず ReactDOMServer.renderToString メソッドを通じてコンポーネントを文字列形式で HTML にレンダリングします。この HTML 文字列はブラウザに送信され、ブラウザはその HTML 文字列をページに挿入するだけでレンダリングを完了します。
まず、Express などの Node.js サーバー フレームワークを使用してサーバーを作成する必要があります。
// server.js const express = require('express'); const React = require('react'); const { renderToString } = require('react-dom/server'); const App = require('./App'); // 你的React应用根组件 const app = express(); app.get('/', (req, res) => { res.send(` <html> <head> <title>React SSR</title> </head> <body> <div id="root">${renderToString(<App />)}</div> <script src="/bundle.js"></script> </body> </html> `); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
上記のコードは単純なサーバー側レンダリングの例で、App は React アプリケーションのルート コンポーネントです。
次に、ビルド スクリプトを作成して、React アプリケーションをサーバー側の Bundle.js ファイルにパッケージ化する必要があります。
// build.js const webpack = require('webpack'); const webpackConfig = require('./webpack.config'); const compiler = webpack(webpackConfig); compiler.run((error, stats) => { if (error || stats.hasErrors()) { console.error('Build failed.'); return; } console.log('Build successful.') });
最後に、ブラウザ側で、bundle.js ファイルをページに導入する必要があります。
<!-- index.html --> <html> <head> <title>React SSR</title> </head> <body> <div id="root"></div> <script src="/bundle.js"></script> </body> </html>
サーバー側レンダリングによってフロントエンド アプリケーションのパフォーマンスが向上しますが、パフォーマンスのボトルネックがまだいくつかあります。ここでは、サーバー側のレンダリング パフォーマンスをさらに最適化するためのいくつかの提案を示します。
コード分割: アプリケーション コードを複数の小さな部分に分割し、それらをオンデマンドでロードして、アプリケーション全体のロードを回避します。
結論
この記事では、React サーバーサイド レンダリングの原則と実践方法、およびサーバーサイド レンダリングのパフォーマンスをさらに最適化するための提案を紹介します。サーバーサイドのレンダリングを通じて、フロントエンド アプリケーションのパフォーマンスを向上させ、ユーザー エクスペリエンスを最適化できます。上記の内容が、読者が React サーバーサイド レンダリング テクノロジをよりよく理解し、適用するのに役立つことを願っています。
参考資料:
以上がReact サーバーサイド レンダリング ガイド: フロントエンド アプリケーションのパフォーマンスを向上させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。