Filbasert ruting og automatiske imports
Opprett sider i pages/-mappen for automatisk ruting, forstå dynamiske segmenter, og bruk Nuxts automatiske imports for komponenter og composables.
Filbasert ruting og automatiske imports er en gratis leksjon i Frontend Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Frontend Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Frontend Academy inneholder totalt 4 leksjoner.
Nuxt 3 — Vues SSR-rammeverk
Nuxt 3 er for Vue det Next.js er for React: et meningsbærende rammeverk for SSR, SSG, filbasert ruting, datahenting og et omfattende system for automatisk import.
pages/-mappen
Legg Vue-komponenter i pages/, så blir de til ruter — det er ikke nødvendig å konfigurere en router.
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/profileDynamiske ruter med [param]
Hakeparenteser i filnavn oppretter dynamiske segmenter. Få tilgang til parametere med useRoute().
<!-- 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>Ruter som fanger alt
Bruk [...slug].vue for ruter som fanger alt — den samsvarer med alle stier under den aktuelle mappen.
// 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>Oppsett
Komponenter i layouts/ omslutter sider. Angi det aktive oppsettet per side med definePageMeta.
<!-- layouts/dashboard.vue -->
<template>
<div class="dashboard">
<Sidebar />
<main><slot /></main>
</div>
</template>
<!-- pages/dashboard/index.vue -->
<script setup>
definePageMeta({ layout: 'dashboard' });
</script>Standardoppsett
layouts/default.vue brukes på alle sider uten et angitt oppsett.
Navigasjon med NuxtLink
Bruk <NuxtLink> for navigasjon på klientsiden — Nuxt forhåndshenter lenkede sider når pekeren holdes over lenken.
<template>
<nav>
<NuxtLink to="/">Home</NuxtLink>
<NuxtLink to="/blog">Blog</NuxtLink>
<NuxtLink :to="`/users/${userId}`">Profile</NuxtLink>
</nav>
</template>Programmatisk navigasjon
Bruk navigateTo() i setup eller hendelseshåndterere.
<script setup>
async function onLogin() {
await login(form);
await navigateTo('/dashboard');
}
</script>Automatiske importer — komponenter
Legg en komponent i components/ og bruk den i en hvilken som helst mal uten å importere den — Nuxt skanner og registrerer komponentene.
components/
AppHeader.vue
UserCard.vue
<!-- any page or component: -->
<template>
<AppHeader />
<UserCard :user="user" />
</template>Automatiske importer — composables
Composables i composables/ importeres automatisk.
// 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>Automatiske importer — verktøy
Vue-verktøy (ref, reactive, computed, watch osv.) og Nuxt-verktøy (useFetch, useState, navigateTo) importeres automatisk.
Deaktivere automatiske importer
En bestemt automatisk import kan deaktiveres i nuxt.config.ts hvis den kommer i konflikt med noe annet.
export default defineNuxtConfig({
imports: {
autoImport: false // disable all auto-imports
}
});Kort kontroll
Hvordan oppretter man en rute i Nuxt 3 som samsvarer med alle stier under /docs/?
Oppsummering: ruting og automatiske importer
pages/-mappen oppretter ruter. [param] brukes for dynamiske ruter, og [...slug] for ruter som fanger alt. Oppsett i layouts/ velges via definePageMeta. NuxtLink + navigateTo brukes til navigasjon. Komponenter, composables samt Vue- og Nuxt-verktøy importeres automatisk — ingen manuelle importer. Deaktiver dette i nuxt.config.ts ved behov.
Lær deg HTML med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 41
- Leksjoner
- 163
Ofte stilte spørsmål
Er leksjonen «Filbasert ruting og automatiske imports» gratis?
Ja – hele teksten i «Filbasert ruting og automatiske imports» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Frontend Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Frontend Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Filbasert ruting og automatiske imports»?
Opprett sider i pages/-mappen for automatisk ruting, forstå dynamiske segmenter, og bruk Nuxts automatiske imports for komponenter og composables. Du øver på Frontend Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Frontend Academy?
Ingen tidligere erfaring er nødvendig. Frontend Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Filbasert ruting og automatiske imports»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Frontend Academy-leksjonen?
Ja. Alle Frontend Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Filbasert ruting og automatiske imports
- useFetch og useAsyncData
- Nuxt-moduler: Image, Auth og i18n
- Distribusjon: statisk kontra SSR