svelte

Vollständige Deployment-Anleitung für svelte auf NStrim

Übersicht

Svelte ist ein modernes JavaScript-Framework, das die Arbeit vom Browser in die Kompilierzeit verlagert und hochoptimierten Vanilla-JavaScript-Code erzeugt. In Kombination mit SvelteKit bietet es ein Full-Stack-Framework für die Erstellung schneller, effizienter Webanwendungen.

Bevor Sie beginnen
Stellen Sie sicher, dass Sie Ihr Dashboard geöffnet haben - Sie benötigen die dort angezeigten Git-Anmeldedaten. Dieses Template enthält Tailwind CSS 4 für das Styling und verwendet Svelte 5 mit Runes.

Schnellstart

1

Repository aus Template erstellen

Gehen Sie in Ihrem Dashboard zum Tab Tools & Deployment. Klicken Sie auf "New Repository", wählen Sie die Svelte-Vorlage aus dem Dropdown, geben Sie einen Repository-Namen und eine Subdomain ein und klicken Sie auf "Create Repository".

2

Repository klonen

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Abhängigkeiten installieren

npm install
4

Entwicklungsserver starten

npm run dev

Öffnen Sie http://localhost:4200 in Ihrem Browser.

5

Erstellen und hochladen

npm run build
git add .
git commit -m "Initial setup"
git push origin main
Jeder Push zu Git deployt Ihre Anwendung automatisch. Überprüfen Sie Ihre Modul-Arbeits-URL auf dem Dashboard, um Ihre Live-Seite zu sehen.

Lokale Entwicklung mit Docker

Wenn Sie Node.js nicht lokal installiert haben, können Sie Docker verwenden, um Svelte-Befehle auszuführen. Das Projekt enthält ein Dockerfile für Produktions-Builds.

Was ist Docker?
Docker erstellt isolierte "Container" mit der gesamten benötigten Software (Node.js, npm), ohne diese auf Ihrem Computer zu installieren. Stellen Sie es sich wie eine leichtgewichtige virtuelle Maschine vor.

Voraussetzungen

Installieren Sie Docker Desktop für Ihr Betriebssystem (Windows, Mac oder Linux).

Befehle mit Docker ausführen

# Run npm install
docker run --rm -v $(pwd):/app -w /app node:20-alpine npm install

# Run development server (accessible at localhost:4200)
docker run --rm -v $(pwd):/app -w /app -p 4200:4200 node:20-alpine npm run dev

# Build for production
docker run --rm -v $(pwd):/app -w /app node:20-alpine npm run build
Hinweis
Docker ist optional für die lokale Entwicklung. Die NStrim-Plattform übernimmt das Deployment automatisch - Sie benötigen Docker nur, wenn Sie Befehle lokal ohne installiertes Node.js ausführen möchten.

Projektstruktur

Verstehen Sie, wo sich die Dateien befinden:

├── src/
│   ├── routes/
│   │   ├── +page.svelte          # Startseiten-Komponente
│   │   └── +layout.svelte        # Root-Layout (umschließt alle Seiten)
│   ├── lib/
│   │   ├── index.js              # Gemeinsame Exporte
│   │   └── assets/               # Statische Assets (Bilder usw.)
│   ├── app.html                  # HTML-Template
│   └── app.css                   # Globale Styles (Tailwind)
├── static/                       # Öffentliche statische Dateien
├── svelte.config.js              # SvelteKit-Konfiguration
├── vite.config.js                # Vite-Build-Konfiguration
├── package.json                  # Abhängigkeiten und Skripte
└── Dockerfile                    # Docker-Build-Konfiguration
        

Häufige Aufgaben

Neue Seite erstellen

Erstellen Sie einen neuen Ordner in src/routes/ mit einer +page.svelte-Datei:

# Create an "about" page at /about
mkdir src/routes/about
touch src/routes/about/+page.svelte

Der Ordnername wird automatisch zum URL-Pfad.

Komponente erstellen

Erstellen Sie .svelte-Dateien in src/lib/ für wiederverwendbare Komponenten:

<!-- src/lib/Button.svelte -->
<script>
  let { label, onclick } = $props();
</script>

<button class="bg-blue-500 text-white px-4 py-2 rounded" {onclick}>
  {label}
</button>

Komponenten importieren

Verwenden Sie den $lib-Alias, um aus dem lib-Ordner zu importieren:

<script>
  import Button from '$lib/Button.svelte';
</script>

<Button label="Click me" onclick={() => alert('Hello!')} />

Tailwind CSS verwenden

Tailwind CSS 4 ist vorkonfiguriert. Verwenden Sie Klassen direkt in Ihren Komponenten:

<div class="bg-blue-500 text-white p-4 rounded-lg">
  Hello Tailwind!
</div>

Zustandsverwaltung mit Runes (Svelte 5)

Svelte 5 verwendet Runes für Reaktivität:

<script>
  let count = $state(0);
  let doubled = $derived(count * 2);
</script>

<button onclick={() => count++}>
  Count: {count} (doubled: {doubled})
</button>

Nützliche Befehle

npm run dev Entwicklungsserver starten (Port 4200)
npm run build Für Produktion erstellen
npm run preview Produktions-Build lokal anzeigen
npm test Unit-Tests mit Vitest ausführen
npm run format Code mit Prettier formatieren
npm run lint Code-Stil und Fehler überprüfen

Fehlerbehebung

npm install schlägt mit Berechtigungsfehlern fehl

Ursache: Berechtigungsprobleme mit npm-Cache oder node_modules.

Lösung: Löschen Sie den node_modules-Ordner und package-lock.json, dann führen Sie npm install erneut aus.

Port 4200 wird bereits verwendet

Ursache: Ein anderer Prozess verwendet Port 4200.

Lösung: Verwenden Sie einen anderen Port: npm run dev -- --port 3000 oder beenden Sie den anderen Prozess.

Modul nicht gefunden Fehler

Ursache: Abhängigkeiten nicht installiert oder beschädigt.

Lösung: Führen Sie npm install aus, um alle Abhängigkeiten zu installieren.

$state oder $derived funktioniert nicht

Ursache: Verwendung von Svelte 4-Syntax in einem Svelte 5-Projekt.

Lösung: Svelte 5 verwendet Runes. Ersetzen Sie let count = 0 durch let count = $state(0) für reaktiven Zustand.

Build schlägt nach dem Deployment fehl

Ursache: Build-Fehler oder fehlende Abhängigkeiten.

Lösung: Führen Sie npm run build zuerst lokal aus, um vor dem Pushen nach Fehlern zu suchen.

Deployment-Workflow

Jedes Mal, wenn Sie Code zu Git pushen, wird Ihre Anwendung automatisch gebaut und deployed:

Code-Änderung git push npm run build Statische Dateien deployen Live!

Ihre deployed Anwendungs-URL folgt diesem Format:

https://<your-subdomain>-<repo-name>.<session-domain>

Beispiel: https://student01-module-a.demo.nstrim.app

Für weitere Informationen besuchen Sie die offizielle SvelteKit-Dokumentation.