Heim > Web-Frontend > js-Tutorial > Hauptteil

Schritte zum Bereitstellen Ihrer React Next.js-App mit Github-Seiten

Linda Hamilton
Freigeben: 2024-10-12 06:30:02
Original
491 Leute haben es durchsucht

teps to deploy your React Next.js app with Github pages

Die Bereitstellung einer Next.js-App auf GitHub Pages kann aufgrund der statischen Natur von GitHub Pages und der dynamischen Funktionen von Next.js etwas schwierig sein. In diesem Artikel werde ich Sie durch die Schritte für eine erfolgreiche Bereitstellung führen.

Voraussetzungen

  • Ein GitHub-Konto
  • Node.js und npm auf Ihrem Computer installiert
  • Ein Next.js-Projekt, das zur Bereitstellung bereit ist

Schritt 1: gh-pages installieren

npm install gh-pages --save-dev

Schritt 2: next.config.mjs aktualisieren

Als nächstes müssen Sie Ihre Datei next.config.js (oder next.config.mjs) aktualisieren, um den Basispfad und das Asset-Präfix korrekt zu verarbeiten.

const isProd = process.env.NODE_ENV === 'production';
const nextConfig = {
  reactStrictMode: true,
  images: {
    unoptimized: true, // Disable default image optimization
  },
  assetPrefix: isProd ? '/your-repository-name/' : '',
  basePath: isProd ? '/your-repository-name' : '',
  output: 'export'
};

export default nextConfig;
Nach dem Login kopieren

isProd prüft, ob die Umgebungsvariable NODE_ENV auf „Produktion“ gesetzt ist. Wenn ja, ist isProd wahr; andernfalls ist es falsch.
Bedingtes assetPrefix und basePath werden nur dann auf Ihren Repository-Namen gesetzt, wenn isProd wahr ist. Andernfalls werden sie für die lokale Entwicklung auf eine leere Zeichenfolge gesetzt.
Die Option images.unoptimized ist auf true gesetzt, um die standardmäßige Bildoptimierung zu deaktivieren, die nicht mit statischen Exporten kompatibel ist.

Schritt 3: package.json aktualisieren

Aktualisieren Sie Ihre package.json, um das Homepage-Feld und die Bereitstellungsskripts einzuschließen.

"homepage": "https://<your-github-username>.github.io/<your-repo-name>",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "predeploy": "npm run build",
    "deploy": "gh-pages -d out"
  },
Nach dem Login kopieren

Ersetzen Sie und durch Ihren GitHub-Benutzernamen und Repository-Namen.

Schritt 4: Stellen Sie Ihre App bereit

Führen Sie NPM Run Predeploy und NPM Run Deploy aus.

Diese Befehle werden:

  • Erstellen Sie Ihr Projekt.
  • Exportieren Sie es in das Out-Verzeichnis.
  • Stellen Sie es im gh-pages-Zweig auf GitHub bereit. Schieben Sie Ihre Arbeit vor dem nächsten Schritt in Ihren GitHub-Zweig

Schritt 5: GitHub-Seiten konfigurieren

Gehen Sie zu Ihrem Repository auf GitHub.
Navigieren Sie zu Einstellungen > Seiten.
Wählen Sie unter Quelle den Zweig gh-pages aus.
Speichern Sie die Einstellungen.
Fügen Sie die .nojekyll-Datei manuell im Stammverzeichnis des gh-pages-Zweigs auf GitHub hinzu. Erfahren Sie hier mehr darüber.

Schritt 6: Bereitstellung überprüfen

Öffnen Sie nach der Bereitstellung Ihre GitHub-Seiten-URL (z. B. https://.github.io/), um zu überprüfen, ob Ihre App live ist.

Und voilà!

Sie können unten gerne Fragen oder Kommentare hinterlassen. Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonSchritte zum Bereitstellen Ihrer React Next.js-App mit Github-Seiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!