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/profileDynamische 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
- Dateibasiertes Routing und automatische Imports
- useFetch und useAsyncData
- Nuxt-Module: Image, Auth und i18n
- Deployment: Statisch vs. SSR