Eine einfache Blog-Architektur erstellen
Die Blogbeiträge in unserem Beispiel werden als lokale Markdown-Dateien im Anwendungsverzeichnis gespeichert (nicht von einer externen Datenquelle abgerufen), daher müssen wir die Daten aus dem Dateisystem lesen.
In diesem Abschnitt gehen wir die Schritte durch, um ein Blog zu erstellen, das Markdown-Daten aus dem Dateisystem liest.
Markdown-Dateien erstellen
Erstellen Sie zunächst ein neues oberstes Verzeichnis namens posts
(dies ist nicht dasselbe wie pages/posts
) im Stammverzeichnis. Erstellen Sie innerhalb von posts
zwei Dateien: pre-rendering.md
und ssg-ssr.md
.
Kopieren Sie nun den folgenden Code in posts/pre-rendering.md
:
Dann kopieren Sie den folgenden Code in posts/ssg-ssr.md
:
Sie haben vielleicht bemerkt, dass jede Markdown-Datei oben einen Metadatenabschnitt mit
title
unddate
enthält. Dies wird YAML Front Matter genannt und kann mit einer Bibliothek namens gray-matter geparst werden.
gray-matter installieren
Installieren Sie zunächst gray-matter, das uns ermöglicht, die Metadaten in jeder Markdown-Datei zu parsen.
Hilfsfunktion zum Lesen des Dateisystems erstellen
Als Nächstes erstellen wir eine Hilfsfunktion zum Parsen von Daten aus dem Dateisystem. Mit dieser Hilfsfunktion möchten wir:
- Jede Markdown-Datei parsen und
title
,date
sowie den Dateinamen (der alsid
für die Post-URL verwendet wird) erhalten. - Die Daten auf der Indexseite auflisten, sortiert nach Datum.
Erstellen Sie ein oberstes Verzeichnis namens lib
im Stammverzeichnis. Erstellen Sie dann innerhalb von lib
eine Datei namens posts.js
und kopieren Sie diesen Code hinein:
Hinweis:
Sie müssen den obigen Code nicht verstehen, um Next.js zu lernen. Die Funktion dient dazu, das Blog-Beispiel funktionsfähig zu machen. Aber falls Sie mehr erfahren möchten:
fs
ist ein Node.js-Modul, das das Lesen von Dateien aus dem Dateisystem ermöglicht.path
ist ein Node.js-Modul, das die Manipulation von Dateipfaden ermöglicht.matter
ist eine Bibliothek, die das Parsen der Metadaten in jeder Markdown-Datei ermöglicht.- In Next.js hat der
lib
-Ordner keinen festgelegten Namen wie derpages
-Ordner, daher können Sie ihn beliebig benennen. Üblicherweise wirdlib
oderutils
verwendet.
Blog-Daten abrufen
Nachdem die Blog-Daten geparst wurden, müssen wir sie unserer Indexseite (pages/index.js
) hinzufügen. Dies können wir mit einer Next.js-Datenabrufmethode namens getStaticProps()
tun. Im nächsten Abschnitt lernen wir, wie man getStaticProps()
implementiert.
Lassen Sie uns das auf der nächsten Seite machen!