Heim Web-Frontend View.js Detaillierte Erläuterung der SSR-Funktion in Vue3: Implementierung des serverseitigen Renderings

Detaillierte Erläuterung der SSR-Funktion in Vue3: Implementierung des serverseitigen Renderings

Jun 18, 2023 am 09:04 AM
vue ssr 服务器端渲染

Mit der kontinuierlichen Weiterentwicklung der Front-End-Technologie versuchen immer mehr Websites, serverseitiges Rendering (SSR) zu verwenden, um die Seitenreaktionsgeschwindigkeit zu beschleunigen und SEO-Effekte zu verbessern. Als eines der derzeit beliebtesten Front-End-Frameworks bietet Vue3 in seiner neuesten Version auch vollständige Unterstützung für SSR. Dieser Artikel bietet eine detaillierte Analyse und Erklärung der SSR-Funktion in Vue3.

1. Was ist SSR?

Bevor wir die SSR-Funktion in Vue3 offiziell einführen, müssen wir zunächst verstehen, was serverseitiges Rendering (SSR) ist. Einfach ausgedrückt rendert SSR die Vue-Komponente serverseitig in einen HTML-String und sendet den HTML-String dann zur Anzeige an den Browser. Im Vergleich zur herkömmlichen CSR-Methode (Client-Side Rendering) kann SSR die Geschwindigkeit des First-Screen-Renderings erhöhen, SEO-Effekte und Benutzererfahrung verbessern.

2. SSR-Funktionen in Vue3

Vue3 bietet eine Reihe von Funktionen für SSR, einschließlich createSSRApp, createRenderer und renderToString.

  1. createSSRApp

createSSRApp ist eine Funktion in Vue3, die speziell zum Erstellen von SSR-Anwendungen verwendet wird. Der Unterschied zu createApp besteht darin, dass diese Funktion eine Anwendungsinstanz relativ zum Server zurückgibt. Beim Erstellen dieser Anwendungsinstanz müssen Sie ein sogenanntes Kontextkontextobjekt einführen. Dieses Objekt enthält Inhalte im Zusammenhang mit dem Rendern, z. B. Seiten-URL und Anforderung Überschriften usw.

  1. createRenderer

createRenderer ist eine Funktion zum Erstellen eines Renderers und kann einen Parameter akzeptieren, bei dem es sich um ein RenderOptions-Objekt handelt. Dieses Objekt kapselt die relevante Konfiguration des Renderers, z. B. die Übergabe der Anwendungsinstanz hier zum Starten, den jeweiligen Umgang mit verschiedenen VNode-Typen usw.

  1. renderToString

renderToString ist die Renderfunktion, die dieser SSR-Anwendung entspricht. Diese Funktion akzeptiert nur eine Vue-Anwendungsinstanz als Parameter. Wenn Sie mehrere Anwendungsinstanzen rendern möchten, müssen Sie diese nacheinander aufrufen. Der Rückgabewert dieser Funktion ist die gerenderte Ergebniszeichenfolge.

3. Implementieren Sie serverseitiges Rendering

Die oben genannten drei Funktionen sind die Kernfunktionen, die zur Unterstützung von SSR in Vue3 verwendet werden. Als nächstes zeigen wir anhand eines einfachen Beispiels, wie Sie sie zur Implementierung von serverseitigem Rendering verwenden.

Wir gehen davon aus, dass wir eine einfache Vue-Komponente wie folgt haben:

<template>
  <div>
    {{ message }}
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello, Vue3 SSR!'
    }
  }
}
</script>
Nach dem Login kopieren

Wir müssen zuerst die Eintragsdatei ändern und die Funktion createSSRApp verwenden, um unsere Anwendungsinstanz zu erstellen:

import { createSSRApp } from 'vue'
import App from './App.vue'

export function createApp() {
  const app = createSSRApp(App)
  return { app }
}
Nach dem Login kopieren

Dann müssen wir einen Renderer erstellen, um die Vue-Instanz zu rendern :

import { createRenderer } from 'vue'
import { createMemoryHistory, createRouter, RouterView } from 'vue-router'
import { renderToString } from '@vue/server-renderer'
import { createApp } from './main'

const renderer = createRenderer({
  history: createMemoryHistory(),
  renderOptions: {
    head: `
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
    `
  }
})

const router = createRouter({
  history: createMemoryHistory(),
  routes: [{ path: '/', component: RouterView }]
})

async function render() {
  const { app } = await createApp()
  const html = await renderer.renderToString(router)
  return `<html><body>${html}</body></html>`
}
Nach dem Login kopieren

Wir haben die Funktion createRenderer in vue-server-renderer eingeführt und eine Router-Instanz erstellt. Als nächstes müssen wir die Daten in der App.vue-Datei vorab ausfüllen, um sicherzustellen, dass die vom Server gerenderten HTML-String-Daten mit denen beim Rendern durch den Client identisch sind. Wir können die zuvor gerenderten Ergebnisse auf die Seite schreiben, wenn wir eine Anfrage auf der Serverseite stellen, und sie dann zum Rendern an den Client übergeben.

import { createSSRApp } from 'vue'
import App from './App.vue'

export function createApp() {
  const app = createSSRApp(App)
  const initialState = window.__INITIAL_STATE__
  if (initialState) {
    app.$data = initialState
  }
  return { app }
}
Nach dem Login kopieren

Schließlich geben wir den gerenderten HTML-String an den Client zurück.

import express from 'express'
import { render } from './server'

const app = express()

app.get('*', async (req, res) => {
  const html = await render(req.url)
  res.send(html)
})

const PORT = 3000
app.listen(PORT, () => {
  console.log(`Server running at http://localhost:${PORT}`)
})
Nach dem Login kopieren

Das Obige ist ein einfaches Implementierungsbeispiel für das serverseitige Rendering von Vue3.

4. Zusammenfassung

Dieser Artikel stellt die SSR-Funktionen in Vue3 vor und zeigt anhand eines einfachen Beispiels, wie diese Funktionen zur Implementierung des serverseitigen Renderings verwendet werden. Ich glaube, dass die Leser durch die Einleitung dieses Artikels bereits ein klareres Verständnis der SSR-Funktionen in Vue3 erlangen und diese zur Implementierung ihrer eigenen serverseitigen Rendering-Anwendungen verwenden können.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der SSR-Funktion in Vue3: Implementierung des serverseitigen Renderings. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

Vue realisiert Festzelt-/Text -Scrolling -Effekt Vue realisiert Festzelt-/Text -Scrolling -Effekt Apr 07, 2025 pm 10:51 PM

Implementieren Sie Marquee/Text-Scrolling-Effekte in VUE unter Verwendung von CSS-Animationen oder Bibliotheken von Drittanbietern. In diesem Artikel wird die Verwendung von CSS -Animation vorgestellt: Bildlauftext erstellen und Text mit & lt; div & gt;. Definieren Sie CSS -Animationen und setzen Sie Überlauf: Versteckt, Breite und Animation. Definieren Sie Keyframes, setzen Sie Transformation: Translatex () am Anfang und am Ende der Animation. Passen Sie die Animationseigenschaften wie Dauer, Bildlaufgeschwindigkeit und Richtung an.

So fragen Sie die Version von Vue So fragen Sie die Version von Vue Apr 07, 2025 pm 11:24 PM

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

So verwenden Sie Vue Traversal So verwenden Sie Vue Traversal Apr 07, 2025 pm 11:48 PM

Es gibt drei gängige Methoden für Vue.js, um Arrays und Objekte zu durchqueren: Die V-für-Anweisung wird verwendet, um jedes Element zu durchqueren und Vorlagen zu rendern; Die V-Bind-Anweisung kann mit V-für dynamisch Attributwerte für jedes Element verwendet werden. und die .MAP -Methode kann Array -Elemente in Neuarrays umwandeln.

See all articles