Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Schritte zur Implementierung des serverseitigen Renderings mit Nuxt.js (mit Code)
Dieses Mal erkläre ich Ihnen ausführlich die Schritte zum Implementieren des serverseitigen Renderings mit Nuxt.js (mit Code). Was sind die Vorsichtsmaßnahmen für das Implementieren des serverseitigen Renderings mit Nuxt.js? Werfen wir einen Blick darauf.
Verwenden Sie Vue direkt, um eine Front-End-Einzelseitenanwendung zu erstellen. Der Seitenquellcode enthält nur wenige einfache HTML-Zeilen, was der SEO der Website derzeit nicht förderlich ist. In diesem Artikel wird hauptsächlich die Implementierung von serverseitigem Rendering (SSR) durch Vue ausführlich vorgestellt. Interessierte Freunde können sich auf
beziehen, um Vue direkt zu verwenden Erstellen Sie eine Front-End-Einzelseitenanwendung. Der Seitenquellcode enthält nur wenige einfache HTML-Zeilen. Dies ist für die Suchmaschinenoptimierung der Website nicht förderlich und erfordert derzeit ein serverseitiges Rendering >Am 25. Oktober 2016 veröffentlichte das Team hinter zeit.co ein serverseitiges React-Rendering-Anwendungsframework Next.js
Einige Stunden später kam ein serverseitiges Rendering-Anwendungsframework auf Basis von Vue.js auf den Markt Sein, das Next.js ähnelt. Das ist Nuxt.js
1. Schnelle Vorlage Unter der Voraussetzung, dass vue-cli installiert wurde, können Sie schnell eine Nuxt-Projektvorlage erstellen
wobei MyProject der Name des Projektordners ist, der über npm installvue init nuxt-community/starter-template MyProject
angepasst werden kann (es scheint reibungsloser zu sein).
Garninstallation). Nach der Installation der Abhängigkeiten können Sie npm direkt in der Entwicklungsumgebung ausführen, um das Projekt zu startenDer Standardstart Die Adresse lautet http://localhost:3000/. Sie können die folgende Konfiguration in
package.jsonhinzufügen, um die Host-Portnummer zu ändern
Nachdem die Entwicklung abgeschlossen ist, führen Sie npm run aus build, um den Code zu packen, und schließlich npm start, um den Dienst zu starten"config": { "nuxt": { "host": "0.0.0.0", "port": "7788" } },
2. Wichtige Verzeichnisse Das generierte Projektverzeichnis lautet wie folgt
Die meisten Ordnernamen
sind standardmäßig von nuxt reserviert und können nicht geändert werdenEs gibt drei Verzeichnisse, die für den Preisvergleich von entscheidender Bedeutung sind:
1. Das Komponentenverzeichnis
wird im Allgemeinen zum Speichern von
nicht auf SeitenebeneKomponenten verwendet, z als Kopf- und Fußzeile Öffentliche Komponenten wie Die Komponenten in diesem Verzeichnis verfügen über die Methoden und Eigenschaften regulärer Vue-Komponenten und werden nicht durch nuxt.js-Funktionen erweitert
2. Layouts Layoutverzeichnis
Sie können default.vue in diesem Verzeichnis ändern, um das Standardlayout zu ändern
wobei<template> <p> <my-header></my-header> <nuxt/> <my-footer></my-footer> </p> </template>
Darüber hinaus können Sie auch einen
-Fehler hinzufügen. vue als Fehlerseite im VerzeichnisDie spezifische Schreibmethode finden Sie in der offiziellen Dokumentation
3wird zum Speichern von Komponenten auf Seitenebene verwendet. Routing der Seitenebene
Zum Beispiel die Seitenstruktur Das Bild oben generiert eine solche Routing-Konfiguration:
Darunter dasDie Methode asyncData
wird häufiger verwendet und unterstützt die asynchrone Datenverarbeitungrouter: { routes: [ { name: 'index', path: '/', component: 'pages/index.vue' }, { name: 'about', path: '/about', component: 'pages/about.vue' }, { name: 'classroom', path: '/classroom', component: 'pages/classroom.vue', children: [ { path: 'student', component: 'pages/classroom/student.vue', name: 'student' }, { //定义带参数的动态路由,需要创建对应的以下划线作为前缀的 Vue 文件或目录 path: ':id', component: 'pages/classroom/_id.vue', name: 'classroom-id' } ] } ] }
Diese Methode wird in jeder
Seitenkomponente verwendetSie wird vor dem Laden aufgerufen, ruft dann die Daten ab und gibt sie an die zurück aktuelle Komponente
Der erste Parameter der asyncData-Methode ist der KontextObjekt context Die spezifischen Eigenschaften können hier angezeigt werden
Da die asyncData-Methode zuvor aufgerufen wird Wenn die Komponente initialisiert ist, gibt es innerhalb der Methode keine Möglichkeit,asyncData ({ params, error }) { return axios.get(`api/posts/${params.id}`) .then((res) => { return { name: res.data.name} }) .catch((e) => { error({ statusCode: 404, message: 'not found' }) }) }auf das
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Implementierung des serverseitigen Renderings mit Nuxt.js (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!