React Server-side Rendering Guide : Comment améliorer les performances des applications frontales
Résumé : Avec le développement continu du développement d'applications frontales, l'optimisation des performances est devenue une question cruciale. Le rendu côté serveur (SSR), comme moyen efficace d'améliorer les performances des applications frontales, est choisi par de plus en plus de développeurs. Cet article présentera les principes et les pratiques du rendu côté serveur React et donnera des exemples de code spécifiques pour aider les lecteurs à améliorer les performances des applications frontales.
Le rendu côté serveur est une technologie qui exécute du code frontal côté serveur et génère des pages HTML. Les applications frontales traditionnelles utilisent JavaScript pour afficher les pages côté navigateur. Lorsque les utilisateurs visitent, le navigateur télécharge et exécute le code JavaScript pour générer le contenu de la page. Le rendu côté serveur fait progresser ce processus côté serveur et génère une page HTML complète lorsque l'utilisateur le demande, réduisant ainsi la charge du navigateur et améliorant la vitesse de chargement des pages et l'expérience utilisateur.
React est une bibliothèque JavaScript basée sur des composants, et son avantage réside dans l'utilisation du DOM virtuel (Virtual DOM). Virtual DOM est une technologie que React utilise pour représenter les arborescences de composants sous forme d'objets JavaScript. En comparant les différences entre les arborescences DOM virtuelles rendues avant et après, elle peut réduire le redessinage et la réorganisation du navigateur et améliorer l'efficacité du rendu des pages.
Dans le rendu côté serveur, React restituera d'abord le composant en HTML sous la forme d'une chaîne via la méthode ReactDOMServer.renderToString. Cette chaîne HTML est ensuite envoyée au navigateur, et le navigateur insère simplement la chaîne HTML dans la page pour terminer le rendu.
Tout d'abord, nous devons créer un serveur à l'aide d'un framework de serveur Node.js, tel qu'Express.
// 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'); });
Le code ci-dessus est un exemple simple de rendu côté serveur, où App est le composant racine de votre application React.
Ensuite, nous devons écrire un script de build pour empaqueter notre application React dans un fichier bundle.js côté serveur.
// 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.') });
Enfin, côté navigateur, nous devons introduire le fichier bundle.js dans la page.
<!-- index.html --> <html> <head> <title>React SSR</title> </head> <body> <div id="root"></div> <script src="/bundle.js"></script> </body> </html>
Bien que le rendu côté serveur puisse améliorer les performances des applications frontales, il existe encore certains goulots d'étranglement en termes de performances. Voici quelques suggestions pour optimiser davantage les performances de rendu côté serveur.
Répartition du code : divisez le code de l'application en plusieurs petits morceaux et chargez-les à la demande pour éviter de charger l'intégralité de l'application.
Conclusion
Cet article présente les principes et les pratiques du rendu côté serveur React, ainsi que des suggestions pour optimiser davantage les performances de rendu côté serveur. Grâce au rendu côté serveur, nous pouvons améliorer les performances des applications frontales et optimiser l'expérience utilisateur. J'espère que le contenu ci-dessus pourra aider les lecteurs à mieux comprendre et appliquer la technologie de rendu côté serveur React.
Références :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!