Use Cases

Astro-Entwicklung mit Claude Code optimieren: Content-Site-Leitfaden

Astro-Entwicklung mit Claude Code optimieren. Content-Site-Leitfaden. Mit praktischen Codebeispielen.

Astro-Entwicklung mit Claude Code beschleunigen

Astro ist ein Framework, das durch seine „Islands-Architektur” mit hoher Performance und Content-First-Design Aufmerksamkeit erregt. Mit Claude Code können Sie Astros einzigartige Syntax und das Design von Content Collections reibungslos umsetzen.

Projekt-Setup

> Erstelle ein Astro-Projekt.
> Anforderungen:
> - TypeScript strict
> - Tailwind CSS
> - MDX-Unterstützung
> - Automatische Sitemap-Generierung

Claude Code präsentiert zusammen mit der astro.config.mjs-Konfiguration auch die notwendigen Integrations-Installationsbefehle.

// astro.config.mjs
import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
import mdx from '@astrojs/mdx';
import sitemap from '@astrojs/sitemap';

export default defineConfig({
  site: 'https://example.com',
  integrations: [tailwind(), mdx(), sitemap()],
  markdown: {
    shikiConfig: {
      theme: 'github-dark',
    },
  },
});

Content Collection Design

Schema-Definition

> Erstelle ein Content Collection Schema für Blogartikel.
> Einschließlich title, description, pubDate, tags, draft, coverImage.
// src/content/config.ts
import { defineCollection, z } from 'astro:content';

const blog = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string().max(100),
    description: z.string().max(200),
    pubDate: z.coerce.date(),
    tags: z.array(z.string()).default([]),
    draft: z.boolean().default(false),
    coverImage: z.string().optional(),
  }),
});

export const collections = { blog };

Nutzung der Islands-Architektur

Die Islands-Architektur als Hauptmerkmal von Astro lädt JavaScript nur für interaktive Komponenten.

---
// Statische Teile werden serverseitig gerendert
import Header from '../components/Header.astro';
import SearchBar from '../components/SearchBar.tsx';
import Footer from '../components/Footer.astro';
---

<Header />
<!-- client:visible hydratisiert nur beim Eintritt in den Viewport -->
<SearchBar client:visible />
<Footer />

Wenn Sie Claude Code fragen „Ist client:load oder client:visible für diese Komponente geeigneter?”, schlägt es die optimale Direktive basierend auf dem Anwendungsfall vor.

Dynamisches Routing und Seitengenerierung

> Generiere Tag-basierte Artikellistenseiten dynamisch.
> Mit Paginierung.
---
// src/pages/tag/[tag]/[...page].astro
import { getCollection } from 'astro:content';
export async function getStaticPaths({ paginate }) {
  const posts = await getCollection('blog', ({ data }) => !data.draft);
  const tags = [...new Set(posts.flatMap(post => post.data.tags))];

  return tags.flatMap(tag => {
    const filtered = posts.filter(post => post.data.tags.includes(tag));
    return paginate(filtered, { params: { tag }, pageSize: 10 });
  });
}
const { page } = Astro.props;
---

Performance-Optimierung

Astro ist standardmäßig schnell, kann aber durch Bildoptimierung und Prefetch-Einstellungen weiter verbessert werden. Wenn Sie Claude Code sagen „Ich möchte einen Lighthouse-Score von 100”, schlägt es konkrete Optimierungspunkte vor.

Zusammenfassung

Mit Claude Code können Sie Astros einzigartige Syntax und Content Collection Design schnell erlernen und leistungsstarke Websites erstellen. Siehe auch den SSR/SSG-Vergleichsleitfaden und SEO-Optimierung.

Details finden Sie in der offiziellen Astro-Dokumentation.

#Claude Code #Astro #framework #SSG #frontend