Heim  >  Artikel  >  Web-Frontend  >  React-Anleitung zum serverseitigen Rendering: So verbessern Sie die Leistung von Front-End-Anwendungen

React-Anleitung zum serverseitigen Rendering: So verbessern Sie die Leistung von Front-End-Anwendungen

PHPz
PHPzOriginal
2023-09-26 12:33:361084Durchsuche

React-Anleitung zum serverseitigen Rendering: So verbessern Sie die Leistung von Front-End-Anwendungen

React Server-side Rendering Guide: So verbessern Sie die Leistung von Front-End-Anwendungen

Zusammenfassung: Mit der kontinuierlichen Weiterentwicklung der Front-End-Anwendungsentwicklung ist die Leistungsoptimierung zu einem zentralen Thema geworden. Immer mehr Entwickler entscheiden sich für serverseitiges Rendering (SSR) als wirksame Methode zur Verbesserung der Leistung von Front-End-Anwendungen. In diesem Artikel werden die Prinzipien und Praktiken des serverseitigen Renderns von React vorgestellt und spezifische Codebeispiele gegeben, um den Lesern zu helfen, die Leistung von Front-End-Anwendungen zu verbessern.

  1. Was ist Server Side Rendering (SSR)?

Serverseitiges Rendering ist eine Technologie, die Front-End-Code auf der Serverseite ausführt und HTML-Seiten generiert. Herkömmliche Front-End-Anwendungen verwenden JavaScript, um Seiten auf der Browserseite darzustellen. Wenn Benutzer sie besuchen, lädt der Browser den JavaScript-Code herunter und führt ihn aus, um Seiteninhalte zu generieren. Durch serverseitiges Rendering wird dieser Prozess auf die Serverseite verlagert und auf Anfrage des Benutzers eine vollständige HTML-Seite generiert. Dadurch wird die Belastung des Browsers verringert und die Seitenladegeschwindigkeit sowie das Benutzererlebnis verbessert.

  1. Das Prinzip des serverseitigen Renderns von React

React ist eine komponentenbasierte JavaScript-Bibliothek, deren Vorteil in der Verwendung von virtuellem DOM (Virtual DOM) liegt. Virtual DOM ist eine Technologie, die React verwendet, um Komponentenbäume als JavaScript-Objekte darzustellen. Durch den Vergleich der Unterschiede zwischen den vorher und nachher gerenderten virtuellen DOM-Bäumen kann das Neuzeichnen und Neuanordnen des Browsers reduziert und die Effizienz beim Rendern von Seiten verbessert werden.

Beim serverseitigen Rendern rendert React die Komponente zunächst über die Methode ReactDOMServer.renderToString in HTML in Form einer Zeichenfolge. Dieser HTML-String wird dann an den Browser gesendet und der Browser fügt den HTML-String einfach in die Seite ein, um das Rendern abzuschließen.

  1. Wie implementiert man serverseitiges Rendering in React?

Zuerst müssen wir einen Server mit einem Node.js-Server-Framework wie Express erstellen.

// 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');
});

Der obige Code ist ein einfaches serverseitiges Rendering-Beispiel, wobei App die Root-Komponente Ihrer React-Anwendung ist.

Als nächstes müssen wir ein Build-Skript schreiben, um unsere React-Anwendung serverseitig in eine bundle.js-Datei zu packen.

// 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.')
});

Schließlich müssen wir auf der Browserseite die Datei bundle.js in die Seite einführen.

<!-- index.html -->
<html>
  <head>
    <title>React SSR</title>
  </head>
  <body>
    <div id="root"></div>
    <script src="/bundle.js"></script>
  </body>
</html>
  1. Optimieren Sie die Leistung des serverseitigen Renderings weiter

Obwohl serverseitiges Rendering die Leistung von Front-End-Anwendungen verbessern kann, gibt es immer noch einige Leistungsengpässe. Hier finden Sie einige Vorschläge zur weiteren Optimierung der serverseitigen Rendering-Leistung.

  • Cache verwenden: Durch das Speichern von Rendering-Ergebnissen im Cache können Sie vermeiden, dass dieselbe Seite immer wieder gerendert wird. Dies kann mithilfe von Caching-Technologien wie Redis oder Memcached erreicht werden.
  • Asynchrones Laden: Für einige Vorgänge, die das Rendern von Seiten blockieren können, z. B. das Anfordern von Daten, den Zugriff auf Datenbanken usw., sollten Sie versuchen, asynchrone Methoden zu verwenden.
  • Codeaufteilung: Teilen Sie den Anwendungscode in mehrere kleine Teile auf und laden Sie diese bei Bedarf, um zu vermeiden, dass die gesamte Anwendung geladen wird.

    Fazit

Dieser Artikel stellt die Prinzipien und Praktiken des serverseitigen Renderings von React vor und gibt Vorschläge zur weiteren Optimierung der serverseitigen Rendering-Leistung. Durch serverseitiges Rendering können wir die Leistung von Front-End-Anwendungen verbessern und das Benutzererlebnis optimieren. Ich hoffe, dass der obige Inhalt den Lesern helfen kann, die serverseitige Rendering-Technologie von React besser zu verstehen und anzuwenden.

Referenzen:

  • Offizielle React-Dokumentation: https://reactjs.org/
  • ReactDOMServer-Dokumentation: https://reactjs.org/docs/react-dom-server.html
  • Express-Framework-Dokumentation: https: / /expressjs.com/

Das obige ist der detaillierte Inhalt vonReact-Anleitung zum serverseitigen Rendering: So verbessern Sie die Leistung von Front-End-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn