0Pricing
Frontend Academy · Lektion

Dateibasiertes Routing und automatische Imports

Erstellen Sie Seiten im Verzeichnis pages/ für automatisches Routing, verstehen Sie dynamische Segmente und nutzen Sie Nuxts automatische Imports für Komponenten und Composables.

Dateibasiertes Routing und automatische Imports ist eine kostenlose Frontend Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Frontend Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Frontend Academy-Kurs umfasst insgesamt 4 Lektionen.

Nuxt 3 – Vues SSR-Framework

Nuxt 3 verhält sich zu Vue wie Next.js zu React: Es ist ein klar vorgegebenes Framework für SSR, SSG, dateibasierte Routen, Datenabrufe und ein umfassendes Auto-Import-System.

Das Verzeichnis pages/

Legen Sie Vue-Komponenten in pages/ ab. Dadurch werden sie zu Routen – eine Router-Konfiguration ist nicht erforderlich.

pages/
  index.vue        // route: /
  about.vue        // route: /about
  blog/
    index.vue      // route: /blog
    [slug].vue     // route: /blog/:slug
  users/
    [id]/
      profile.vue  // route: /users/:id/profile

Dynamische Routen mit [param]

Eckige Klammern in Dateinamen erzeugen dynamische Segmente. Greifen Sie mit useRoute() auf die Parameter zu.

<!-- pages/blog/[slug].vue -->
<script setup>
const route = useRoute();
const { data: post } = await useFetch(`/api/posts/${route.params.slug}`);
</script>

<template>
  <article>
    <h1>{{ post.title }}</h1>
    <div v-html="post.body" />
  </article>
</template>

Catch-all-Routen

Verwenden Sie [...slug].vue für Catch-all-Routen. Damit wird jeder Pfad unterhalb dieses Ordners erfasst.

// pages/docs/[...slug].vue
// matches /docs/getting-started, /docs/api/auth, etc.

<script setup>
const route = useRoute();
console.log(route.params.slug); // ['api', 'auth']
</script>

Layouts

Komponenten in layouts/ umschließen Seiten. Legen Sie das aktive Layout pro Seite mit definePageMeta fest.

<!-- layouts/dashboard.vue -->
<template>
  <div class="dashboard">
    <Sidebar />
    <main><slot /></main>
  </div>
</template>

<!-- pages/dashboard/index.vue -->
<script setup>
definePageMeta({ layout: 'dashboard' });
</script>

Standardlayout

layouts/default.vue wird auf jede Seite angewendet, für die kein Layout angegeben ist.

Navigation mit NuxtLink

Verwenden Sie <NuxtLink> für clientseitige Navigation. Nuxt lädt verknüpfte Seiten beim Überfahren mit dem Mauszeiger vorab.

<template>
  <nav>
    <NuxtLink to="/">Home</NuxtLink>
    <NuxtLink to="/blog">Blog</NuxtLink>
    <NuxtLink :to="`/users/${userId}`">Profile</NuxtLink>
  </nav>
</template>

Programmatische Navigation

Verwenden Sie navigateTo() in setup oder Event-Handlern.

<script setup>
async function onLogin() {
  await login(form);
  await navigateTo('/dashboard');
}
</script>

Auto-Imports – Komponenten

Legen Sie eine Komponente in components/ ab und verwenden Sie sie in jeder Vorlage, ohne sie zu importieren. Nuxt findet und registriert sie automatisch.

components/
  AppHeader.vue
  UserCard.vue

<!-- any page or component: -->
<template>
  <AppHeader />
  <UserCard :user="user" />
</template>

Auto-Imports – Composables

Composables in composables/ werden automatisch importiert.

// composables/useCounter.ts
export const useCounter = () => {
  const count = ref(0);
  const increment = () => count.value++;
  return { count, increment };
};

<!-- any component: -->
<script setup>
const { count, increment } = useCounter(); // no import needed!
</script>

Auto-Imports – Hilfsfunktionen

Vue-Hilfsfunktionen wie ref, reactive, computed und watch sowie Nuxt-Hilfsfunktionen wie useFetch, useState und navigateTo werden automatisch importiert.

Auto-Imports deaktivieren

Sie können einen bestimmten Auto-Import in nuxt.config.ts deaktivieren, wenn er mit etwas anderem in Konflikt steht.

export default defineNuxtConfig({
  imports: {
    autoImport: false // disable all auto-imports
  }
});

Schnelltest

Wie erstellen Sie in Nuxt 3 eine Route, die jedem Pfad unter /docs/ entspricht?

Zusammenfassung: Routing und Auto-Imports

Der Ordner pages/ erstellt Routen. [param] steht für dynamische Segmente, [...slug] für Catch-all-Routen. Layouts in layouts/ werden über definePageMeta ausgewählt. NuxtLink und navigateTo dienen der Navigation. Komponenten aus components/, Composables aus composables/ sowie Vue- und Nuxt-Hilfsfunktionen werden automatisch importiert – manuelle Importe sind nicht erforderlich. Bei Bedarf können Sie dies in nuxt.config.ts deaktivieren.

Häufig gestellte Fragen

Ist die Lektion „Dateibasiertes Routing und automatische Imports“ kostenlos?

Ja — der vollständige Text von „Dateibasiertes Routing und automatische Imports“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Frontend Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Frontend Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Dateibasiertes Routing und automatische Imports“?

Erstellen Sie Seiten im Verzeichnis pages/ für automatisches Routing, verstehen Sie dynamische Segmente und nutzen Sie Nuxts automatische Imports für Komponenten und Composables. Du übst Frontend Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Frontend Academy zu starten?

Keine Vorkenntnisse erforderlich. Frontend Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Dateibasiertes Routing und automatische Imports“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Frontend Academy-Lektion Code schreiben und ausführen?

Ja. Jede Frontend Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dateibasiertes Routing und automatische Imports
  2. useFetch und useAsyncData
  3. Nuxt-Module: Image, Auth und i18n
  4. Deployment: Statisch vs. SSR
← Zurück zu Frontend Academy