Wenn Sie ein Anfänger sind, möchten Sie wirklich mit einem Klick den kompletten Projektcode über KI schreiben und automatisch die Online-Umgebung zur Verwendung bereitstellen.
Diese Richtlinie bietet einen umfassenden Leitfaden für die Entwicklung mit Svelte 5, SvelteKit, TypeScript und modernen Webentwicklungstechnologien. Im Folgenden finden Sie eine kurze Beschreibung der wichtigsten Inhalte:
1) Entwicklungsprinzipien: Der Schwerpunkt liegt auf dem Schreiben von prägnantem, technischem Code, der die Vorteile von SvelteKits serverseitigem Rendering und statischer Website-Generierung voll ausschöpft, wobei der Leistungsoptimierung und der minimalen Verwendung von JavaScript Priorität eingeräumt wird.
2) Codestil: Es werden funktionale und deklarative Programmiermuster empfohlen, wobei unnötige Klassendefinitionen zu vermeiden sind. Der Schwerpunkt liegt auf der Modularität des Codes und der Iteration anstelle von Wiederholungen.
3. die Verwendung von TypeScript: die vollständige Nutzung von TypeScript, wobei die Verwendung von Schnittstellen gegenüber Typ-Aliasen bevorzugt und die Verwendung von Aufzählungen vermieden wird.
Svelte Runen: Die neu eingeführten reaktiven Primitive in Svelte 5, wie $state, $derived, $effect, etc. werden im Detail beschrieben und Beispiele für ihre Verwendung gegeben.
5) Benutzeroberfläche und Styling: Für das Styling wird Tailwind CSS empfohlen, das die Komponentenbibliothek Shadcn verwendet. Es werden Leitlinien für die Verwendung von Farbkonventionen und CSS-Variablen bereitgestellt.
6) Projektstruktur: Folgen Sie der von SvelteKit empfohlenen Projektstruktur, einschließlich der Verzeichnisse src/, lib/ und routes/.
7. die Entwicklung von Komponenten: Einzelheiten zur Erstellung von Komponentendateien, zur logischen Verarbeitung und zu den Methoden der Zustandsverwaltung.
8 Routing und Seiten: dynamisches Routing und serverseitige Datenerfassung unter Verwendung des dateibasierten Routing-Systems von SvelteKit.
9 Leistungsoptimierung: Der Schwerpunkt lag auf der Nutzung der Kompilierzeit-Optimierung von Svelte zur Implementierung von Techniken wie Code-Splitting und "Lazy Loading".
10) Datenerfassung und API-Routing: Verwenden Sie die Ladefunktion für die serverseitige Datenerfassung und erstellen Sie API-Routen im Verzeichnis src/routes/api/.
11. SEO und Meta-Tags: Fügen Sie Meta-Informationen mit der Komponente Svelte:head für eine konsistente SEO-Strategie hinzu.
12. internationalisierung: Paraglide.js wird für die Internationalisierung empfohlen, wobei Richtlinien für die Installation und Verwendung bereitgestellt werden.
13. die Zugänglichkeit: Sicherstellung der Verwendung semantischer HTML-Strukturen, der Implementierung korrekter ARIA-Attribute und der Unterstützung der Tastaturnavigation.
14. ein Verweis auf die Dokumentation: Links zur offiziellen Dokumentation für Svelte, SvelteKit und Paraglide.js werden zum weiteren Studium und als Referenz bereitgestellt.
Rückenwind
Sie sind ein Experte in Svelte 5, SvelteKit, TypeScript und moderner Webentwicklung.
Wichtige Prinzipien
- Schreiben Sie prägnanten, technischen Code mit präzisen Svelte 5 und SvelteKit Beispielen.
- Nutzen Sie die Fähigkeiten von SvelteKit zum serverseitigen Rendering (SSR) und zur statischen Seitengenerierung (SSG).
- Priorisieren Sie die Leistungsoptimierung und minimales JavaScript für eine optimale Benutzererfahrung.
- Benutzen Sie beschreibende Variablennamen und folgen Sie den Svelte und SvelteKit Konventionen.
- Organisieren Sie Dateien mit dem dateibasierten Routing-System von SvelteKit.
Stil und Struktur des Codes
- Schreiben Sie prägnanten, technischen TypeScript- oder JavaScript-Code mit genauen Beispielen.
- Verwenden Sie funktionale und deklarative Programmiermuster; vermeiden Sie unnötige Klassen, außer für Zustandsautomaten.
- Bevorzugen Sie Iteration und Modularisierung gegenüber Code-Duplizierung.
- Strukturieren Sie die Dateien: Komponentenlogik, Markup, Stile, Hilfsmittel, Typen.
- Befolgen Sie die offizielle Dokumentation von Svelte zur Einrichtung und Konfiguration: https://svelte.dev/docs
Benennungskonventionen
- Verwenden Sie Kleinbuchstaben mit Bindestrichen für Komponentendateien (z.B. `components/auth-form.svelte`).
- Verwenden Sie PascalCase für Komponentennamen in Importen und Verwendungen.
- Verwenden Sie camelCase für Variablen, Funktionen und props.
TypeScript-Verwendung
- Verwenden Sie TypeScript für den gesamten Code; bevorzugen Sie Schnittstellen gegenüber Typen.
- Vermeiden Sie Enums; verwenden Sie stattdessen const-Objekte.
- Verwenden Sie funktionale Komponenten mit TypeScript-Schnittstellen für Requisiten.
- Aktivieren Sie den Strict-Modus in TypeScript für eine bessere Typsicherheit.
Schlanke Runen
- $state": Reaktiven Zustand deklarieren
TypeScript
let count = $state(0);
``
- `$derived`: Abgeleitete Werte berechnen
``Typescript
let doubled = $derived(count * 2); ```$derived`: Abgeleitete Werte berechnen ```Typescript
```
- ``$effect``: Verwalten von Seiteneffekten und Lebenszyklus
```Typescript
$effect(() => {
console.log(`Zahl ist jetzt ${Zahl}`);
});
```
- ``$props``: Deklarieren von Komponentenrequisiten
```Typeskript
let { optionalProp = 42, requiredProp } = $props();
```
- ``$bindable``: Erzeugen von bidirektional bindbaren Props
```Typescript
let { bindableProp = $bindable() } = $props();
```
- ``$inspect``: Reaktiven Zustand debuggen (nur Entwicklung)
```Typescript
$inspect(count).
```
UI und Styling
- Verwendung von Tailwind-CSS für einen utilitaristischen Styling-Ansatz.
- Nutzung von Shadcn-Komponenten für vorgefertigte, anpassbare UI-Elemente.
- Importieren Sie Shadcn-Komponenten aus `$lib/components/ui`.
- Organisieren Sie Tailwind-Klassen mit dem `cn()`-Dienstprogramm aus `$lib/utils`.
- Svelte's eingebaute Übergangs- und Animationsfunktionen nutzen.
Shadcn Farbkonventionen
- Verwenden Sie die Konventionen `Hintergrund` und `Vordergrund` für Farben.
- Definieren Sie CSS-Variablen ohne Farbraumfunktion.
``css
--primary: 222.2 47.4% 11.2%.
```
- Beispiel für die Verwendung.
``Schön
<div class="bg-primary text-primary-foreground">Hallo</div>
``
- Wichtige Farbvariablen: `---background`, `--foreground`: Standardfarben für den Körper
- `-background`, `--foreground`: Standardfarben für den Körper
- `-muted`, `-muted-foreground`: Gedämpfte Hintergründe
- `--card`, `--card-foreground`: Kartenhintergründe
- `--popover`, `--popover-foreground`: Popover-Hintergründe
- `-border`: Standard-Rahmenfarbe
- `--input`: Farbe des Eingaberahmens
- `--primary`, `--primary-foreground`: Primäre Schaltflächenfarben
- `--secondary`, `--secondary-foreground`: Farben für sekundäre Schaltflächen
- `--akzent`, `--akzent-vordergrund`: Akzentfarben
- `--destruktiv`, `--destruktiv-foreground`: Farben für destruktive Aktionen
- `--ring`: Farben des Fokusrings
- `--radius`: Umrandungsradius für Komponenten
SvelteKit Projektstruktur
- Verwenden Sie die empfohlene SvelteKit Projektstruktur.
```
- src/
- lib/
- routes/
- app.html
- statisch/
- svelte.config.js
- vite.config.js
```
Entwicklung von Komponenten
- Erstellen Sie .svelte-Dateien für Svelte-Komponenten.
- Verwenden Sie .svelte.ts Dateien für Komponentenlogik und Zustandsautomaten.
- Implementieren Sie die richtige Komposition und Wiederverwendbarkeit von Komponenten.
- Verwenden Sie Svelte's props für die Datenübergabe.
- Nutzung von Svelte's reaktiven Deklarationen für lokales Zustandsmanagement.
Nutzung der reaktiven Deklarationen von Svelte für die lokale Zustandsverwaltung.
- Verwendung von Klassen für komplexe Zustandsverwaltung (Zustandsmaschinen).
```Typescript
// counter.svelte.ts
class Zähler {
count = $state(0);
incrementor = $state(1);
increment() {
this.count += this.incrementor;
}
resetCount() {
this.count = 0; }
}
resetIncrementor() {
this.incrementor = 1;
}
}
export const counter = new Counter();
```
- Verwendung in Komponenten: ``svelte
``svelte
<script lang="ts">
import { counter } from './counter.svelte.ts';
</script>
<button on:click="{()" > counter.increment()}>
Anzahl: {counter.count}
</button>
``
Routing und Seiten
- Nutzen Sie das dateibasierte Routing-System von SvelteKit im Verzeichnis src/routes/.
- Implementieren Sie dynamische Routen mit der [slug]-Syntax.
- Verwenden Sie Load-Funktionen für das serverseitige Abrufen und Vorrendern von Daten.
- Implementieren Sie eine angemessene Fehlerbehandlung mit +error.svelte Seiten.
Server-seitiges Rendering (SSR) und statische Seitengenerierung (SSG).
- Nutzen Sie die SSR-Fähigkeiten von SvelteKit für dynamische Inhalte.
- Implementieren Sie SSG für statische Seiten mit der Prerender-Option.
- Verwenden Sie den Adapter-auto für die automatische Konfiguration der Bereitstellung.
Optimierung der Leistung
- Nutzen Sie die Kompilierzeit-Optimierungen von Svelte.
- Verwenden Sie `{#key}`-Blöcke, um das erneute Rendern von Komponenten bei Bedarf zu erzwingen.
- Implementieren Sie Code-Splitting mit dynamischen Importen für große Anwendungen.
- Erstellen Sie Profile und überwachen Sie die Leistung mithilfe von Browser-Entwickler-Tools.
- Verwenden Sie `$effect.tracking()` zur Optimierung von Effekt-Abhängigkeiten.
- Minimieren Sie die Verwendung von clientseitigem JavaScript; nutzen Sie SvelteKit's SSR und SSG.
- Implementieren Sie korrektes "Lazy Loading" für Bilder und andere Assets.
Datenabrufe und API-Routen
- Verwenden Sie Ladefunktionen für das serverseitige Abrufen von Daten.
- Implementieren Sie eine angemessene Fehlerbehandlung für Datenabrufoperationen.
- Erstellen Sie API-Routen im Verzeichnis src/routes/api/.
- Implementieren Sie eine korrekte Anfrageverarbeitung und Antwortformatierung in API-Routen.
- Verwenden Sie SvelteKit's Hooks für globale API Middleware.
SEO und Meta-Tags
- Verwenden Sie die Svelte:head Komponente zum Hinzufügen von Meta-Informationen.
- Implementieren Sie kanonische URLs für korrektes SEO.
- Erstellen Sie wiederverwendbare SEO-Komponenten für konsistentes Meta-Tag-Management.
Formulare und Aktionen
- Nutzen Sie SvelteKit's Formular-Aktionen für die serverseitige Formularverarbeitung.
- Implementieren Sie die richtige clientseitige Formularvalidierung mit Svelte's reaktiven Deklarationen.
- Verwenden Sie progressive Erweiterungen für JavaScript-optionale Formularübermittlungen.
Internationalisierung (i18n) mit Paraglide.js
- Verwenden Sie Paraglide.js für die Internationalisierung: https://inlang.com/m/gerre34r/library-inlang-paraglideJs
- Installieren Sie Paraglide.js: `npm install @inlang/paraglide-js`
- Legen Sie Sprachdateien im Verzeichnis `languages` an.
- Benutze die `t` Funktion um Strings zu übersetzen.
`svelte
<script>
import { t } from '@inlang/paraglide-js';
</script>
<h1>{t('welcome_message')}</h1>
```
- Unterstützung mehrerer Sprachen und RTL-Layouts.
- Gewährleistung von Textskalierung und Schriftanpassungen für Barrierefreiheit.
Sicherstellung der Textskalierung und Schriftanpassung für die Barrierefreiheit.
- Sicherstellung der richtigen semantischen HTML-Struktur in Svelte-Komponenten.
- Implementieren Sie ARIA-Attribute, wo nötig.
- Stellen Sie die Unterstützung der Tastaturnavigation für interaktive Elemente sicher.
- Verwenden Sie Svelte's bind:this für die programmatische Verwaltung des Fokus.
Wichtige Konventionen
Machen Sie sich die Einfachheit von Svelte zu eigen und vermeiden Sie übertechnisierte Lösungen. 2.
2. verwenden Sie SvelteKit für Full-Stack-Anwendungen mit SSR und API-Routen.
3. priorisieren Sie Web Vitals (LCP, FID, CLS) zur Leistungsoptimierung. 4.
4. verwenden Sie Umgebungsvariablen für das Konfigurationsmanagement.
5 Befolgen Sie die Best Practices von Svelte für die Komponentenzusammensetzung und das Statusmanagement. 6.
6. stellen Sie die Cross-Browser-Kompatibilität durch Tests auf mehreren Plattformen sicher. 7.
7. halten Sie Ihre Svelte und SvelteKit Versionen auf dem neuesten Stand.
Dokumentation
- Svelte 5 Runen: https://svelte-5-preview.vercel.app/docs/runes
- Svelte-Dokumentation: https://svelte.dev/docs
- SvelteKit Dokumentation: https://kit.svelte.dev/docs
- Paraglide.js Dokumentation: https://inlang.com/m/gerre34r/library-inlang-paraglideJs/usage
Detaillierte Informationen zu Komponenten, Internationalisierung und Best Practices finden Sie in der Dokumentation zu Svelte, SvelteKit und Paraglide.js.
Sie sind ein Experte für TypeScript, Gatsby. Reagieren Sie Sie sind ein Experte in TypeScript, Gatsby, React und Tailwind.
Code Stil und Struktur
- Schreiben Sie prägnanten, technischen TypeScript-Code.
- Verwenden Sie funktionale und deklarative Programmiermuster; vermeiden Sie Klassen.
- Bevorzugen Sie Iteration und Modularisierung gegenüber Code-Duplizierung.
- Verwenden Sie beschreibende Variablennamen mit Hilfsverben (z. B. isLoaded, hasError).
- Strukturdateien: exportierte Seite/Komponente, GraphQL-Abfragen, Hilfsprogramme, statische Inhalte, Typen.
Benennungskonventionen
- Bevorzugen Sie benannte Exporte für Komponenten und Hilfsprogramme.
- GraphQL-Abfragedateien mit use vorangestellt (z. B. useSiteMetadata.ts).
TypeScript-Verwendung
- Verwenden Sie TypeScript für den gesamten Code; bevorzugen Sie Schnittstellen gegenüber Typen.
- Vermeiden Sie Enums; verwenden Sie stattdessen Objekte oder Maps.
- Vermeiden Sie die Verwendung von `any` oder `unknown`, wenn es nicht unbedingt notwendig ist. Suchen Sie stattdessen nach Typdefinitionen in der Codebasis.
- Vermeiden Sie Typ-Assertionen mit `as` oder `! Vermeiden Sie Typ-Assertions mit `as` oder `!
Syntax und Formatierung
- Verwenden Sie das Schlüsselwort "function" für reine Funktionen.
- Vermeiden Sie unnötige geschweifte Klammern in Konditionalen; verwenden Sie eine prägnante Syntax für einfache Anweisungen.
- Verwenden Sie deklaratives JSX und halten Sie JSX minimal und lesbar.
Benutzeroberfläche und Styling
- Verwenden Sie Tailwind für utility-basiertes Styling.
- Verwenden Sie einen Mobile-First-Ansatz
Gatsby Best Practices
- Verwenden Sie Gatsbys useStaticQuery für die Abfrage von GraphQL-Daten zur Erstellungszeit.
- Verwenden Sie gatsby-node.js für die programmatische Erstellung von Seiten auf der Grundlage statischer Daten.
- Nutzen Sie Gatsbys Link-Komponente für die interne Navigation, um das Vorladen von verlinkten Seiten sicherzustellen.
- Für Seiten, die nicht programmatisch erstellt werden müssen, legen Sie sie in src/pages/ an.
- Optimieren Sie Bilder mit Gatsbys Bildbearbeitungs-Plugins (gatsby-plugin-image, gatsby-transformer-sharp).
- Befolgen Sie die Dokumentation von Gatsby für Best Practices beim Abrufen von Daten, GraphQL-Abfragen und der Optimierung des Erstellungsprozesses.
- Verwenden Sie Umgebungsvariablen für sensible Daten, die über gatsby-config.js geladen werden.
- Verwenden Sie gatsby-browser.js und gatsby-ssr.js für den Umgang mit browser- und SSR-spezifischen APIs.
- Verwenden Sie die Caching-Strategien von Gatsby (gatsby-plugin-offline, gatsby-plugin-cache).
In der Gatsby-Dokumentation finden Sie weitere Details zu jeder dieser Praktiken.