Next.js ist ein beliebtes React-Framework, das es Entwicklern ermöglicht, schnelle, servergerenderte Anwendungen zu erstellen. Es bietet sofort einsatzbereite leistungsstarke Funktionen wie statische Site-Generierung (SSG), serverseitiges Rendering (SSR) und API-Routen. In diesem Leitfaden führen wir Sie durch den Prozess der Erstellung Ihrer ersten Next.js-Anwendung und konzentrieren uns dabei auf Schlüsselkonzepte und praktische Beispiele.
Um mit Next.js beginnen zu können, muss Node.js auf Ihrem Computer installiert sein. Sobald Sie Node.js eingerichtet haben, können Sie mit dem folgenden Befehl eine neue Next.js-Anwendung erstellen:
npx create-next-app my-next-app
Dieser Befehl erstellt ein neues Verzeichnis namens my-next-app mit allen notwendigen Dateien und Abhängigkeiten, um eine Next.js-Anwendung zu starten.
Nachdem Sie Ihr Projekt erstellt haben, navigieren Sie zum Projektverzeichnis:
cd my-next-app
Im Verzeichnis „my-next-app“ finden Sie eine Struktur ähnlich dieser:
my-next-app/ ├── node_modules/ ├── pages/ │ ├── api/ │ ├── _app.js │ ├── index.js ├── public/ ├── styles/ │ ├── Home.module.css ├── package.json └── README.md
Im Seitenverzeichnis erstellen Sie die Seiten Ihrer Anwendung, während „public“ für statische Assets vorgesehen ist.
Next.js verwendet ein dateibasiertes Routingsystem. Um eine neue Seite zu erstellen, fügen Sie einfach eine neue JavaScript-Datei im Seitenverzeichnis hinzu. Erstellen Sie beispielsweise eine Datei mit dem Namen about.js:
// pages/about.js import Link from 'next/link'; export default function About() { return (); }About Page
This is the about page of my first Next.js application!
Go back home
In diesem Beispiel haben wir eine einfache Info-Seite erstellt und die Link-Komponente verwendet, um zurück zur Startseite zu navigieren.
Öffnen Sie die Datei index.js im Seitenverzeichnis. Diese Datei stellt die Homepage Ihrer Anwendung dar. Sie können es wie folgt ändern:
// pages/index.js import Link from 'next/link'; import styles from '../styles/Home.module.css'; export default function Home() { return (); }Welcome to My Next.js App
This is my first application built with Next.js.{' '} Learn more about me
Hier haben wir ein einfaches Styling und einen Link zur About-Seite hinzugefügt.
Next.js unterstützt standardmäßig CSS-Module. Um Ihre Komponenten zu formatieren, können Sie im Styles-Verzeichnis ein CSS-Modul erstellen. Erstellen Sie beispielsweise eine Datei mit dem Namen Home.module.css:
/* styles/Home.module.css */ .container { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; font-family: Arial, sans-serif; }
Importieren Sie als Nächstes dieses CSS-Modul in Ihre index.js-Seite, wie im vorherigen Abschnitt gezeigt.
Next.js erleichtert das Abrufen von Daten mit getStaticProps für die statische Site-Generierung oder getServerSideProps für serverseitiges Rendering. Um beispielsweise Daten auf der Startseite abzurufen, können Sie index.js wie folgt ändern:
// pages/index.js export async function getStaticProps() { const res = await fetch('https://jsonplaceholder.typicode.com/posts'); const posts = await res.json(); return { props: { posts }, }; } export default function Home({ posts }) { return (); }Welcome to My Next.js App
{posts.map(post => (
- {post.title}
))}
In diesem Code rufen wir eine Liste von Beiträgen von einer öffentlichen API ab und zeigen sie auf der Startseite an.
Next.js ermöglicht Ihnen das Erstellen von API-Routen im Verzeichnis „pages/api“. Diese Routen können zum Aufbau Ihrer Backend-Funktionalität verwendet werden. Erstellen Sie beispielsweise eine Datei mit dem Namen hello.js im Verzeichnis „pages/api“:
// pages/api/hello.js export default function handler(req, res) { res.status(200).json({ message: 'Hello from Next.js API!' }); }
Sie können auf diese API-Route zugreifen, indem Sie zu http://localhost:3000/api/hello navigieren.
Sobald Ihre Anwendung fertig ist, können Sie sie problemlos bereitstellen. Vercel ist die empfohlene Hosting-Plattform für Next.js-Anwendungen. Sie können Ihre App bereitstellen, indem Sie die folgenden Schritte ausführen:
Erstellen Sie ein Vercel-Konto, falls Sie noch keines haben.
Installieren Sie die Vercel-CLI global:
npm install -g vercel
Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus:
vercel
Folgen Sie den Anweisungen, um Ihre Anwendung bereitzustellen.
Next.js unterstützt dynamisches Routing mit Klammern. Wenn Sie beispielsweise eine dynamische Blog-Beitragsseite erstellen möchten, können Sie eine Datei mit dem Namen [id].js im Verzeichnis „pages/posts“ erstellen:
// pages/posts/[id].js import { useRouter } from 'next/router'; export default function Post() { const router = useRouter(); const { id } = router.query; returnPost: {id}
; }
Sie können jetzt auf einen bestimmten Beitrag zugreifen, indem Sie zu /posts/1, /posts/2 usw. navigieren.
Wenn Sie globale Stile auf Ihre Anwendung anwenden möchten, können Sie dies tun, indem Sie eine Datei mit dem Namen _app.js im Seitenverzeichnis erstellen:
// pages/_app.js import '../styles/globals.css'; export default function App({ Component, pageProps }) { return; }
Als nächstes erstellen Sie eine globals.css-Datei im Styles-Verzeichnis und fügen Ihre globalen Styles hinzu:
/* styles/globals.css */ body { margin: 0; padding: 0; font-family: Arial, sans-serif; background-color: #f0f0f0; }
Next.js unterstützt Umgebungsvariablen zum Speichern vertraulicher Informationen. Sie können eine .env.local-Datei im Stammverzeichnis Ihres Projekts erstellen und Ihre Variablen hinzufügen:
API_URL=https://example.com/api
Sie können dann in Ihrer Anwendung mit „process.env“ auf diese Variable zugreifen:
// Example usage in a component const apiUrl = process.env.API_URL;
Herzlichen Glückwunsch zum Erstellen Ihrer ersten Next.js-Anwendung! Während dieser Reise haben Sie gelernt, wie Sie Ihr Projekt einrichten, dynamische Seiten erstellen, Daten nahtlos abrufen, robustes Routing implementieren und Ihre Anwendung problemlos bereitstellen.
Next.js ist mehr als nur ein Framework; Es ist ein leistungsstarkes Tool, das Ihr Webentwicklungserlebnis erheblich verbessern kann. Seine integrierten Funktionen wie statische Site-Generierung (SSG) und serverseitiges Rendering (SSR) ermöglichen Ihnen die Erstellung schneller, benutzerfreundlicher Anwendungen, die für Leistung und SEO optimiert sind.
Nachdem Sie Ihre erste Next.js-Anwendung erfolgreich erstellt haben, ist es an der Zeit, Ihre Fähigkeiten auf die nächste Stufe zu bringen. In dieser kommenden Beitragsreihe werden wir uns eingehender mit einigen der erweiterten Funktionen von Next.js befassen, die Ihre Anwendungen verbessern und Ihren Entwicklungsprozess optimieren können.
Middleware ist eine leistungsstarke Funktion, mit der Sie die Funktionalität Ihrer Anwendung erweitern können, indem Sie benutzerdefinierte Logik hinzufügen, bevor eine Anfrage abgeschlossen ist. Das bedeutet, dass Sie die Anforderungs- und Antwortobjekte bearbeiten, Benutzer authentifizieren oder sogar Weiterleitungen nahtlos verwalten können.
Als nächstes erkunden wir Static Site Generation (SSG). Diese Technik rendert Seiten zum Zeitpunkt der Erstellung vorab und ermöglicht so schnelle Ladegeschwindigkeiten und eine verbesserte SEO-Leistung. Wenn Sie wissen, wie Sie SSG nutzen, können Sie Anwendungen erstellen, die nicht nur dynamisch, sondern auch unglaublich effizient sind.
Abschließend behandeln wir API-Routen, eine Funktion, mit der Sie serverlose Funktionen direkt in Ihrer Next.js-Anwendung erstellen können. Das bedeutet, dass Sie Anfragen und Antworten bearbeiten können, ohne einen separaten Server zu benötigen, was die Entwicklung von Full-Stack-Anwendungen mit weniger Overhead erleichtert.
Folgen Sie mir auf dieser spannenden Reise in die erweiterten Funktionen von Next.js. Mit diesen Tools können Sie robuste, leistungsstarke Anwendungen erstellen, die sich wirklich von der Masse abheben. Seien Sie gespannt auf unseren nächsten Beitrag!
Sie können diesen Beitrag auch lesen auf:
Finden Sie mich auf:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3