Tilbake til nyheter
DevNuxtWebFirebase

Hvordan jeg gjenbygget min personlige nettside med Nuxt 4 og Firebase

Min gamle nettside var en enkelt statisk HTML-fil. Slik og hvorfor gjenbygget jeg den med Nuxt 4, Tailwind CSS, Firebase Hosting og et fullt tilpasset flerspråklig system for 10 språk.

Den gamle nettsiden

I lang tid var min personlige nettside en enkelt `index.html`-fil. Minimal og rask — men ikke skalerbar. Jeg bestemte meg for en fullstendig gjenbygging.

Hvorfor Nuxt 4

  • Statisk generering — `nuxt generate` produserer statisk utdata for Firebase Hosting
  • Filbasert ruting — Artikelsider på `/news/[slug]` fungerer uten konfigurasjon
  • TypeScript-first — Hele kodebasen er typet
  • SSR + hydrering — Ideelt for SEO

Stakken

  • Nuxt 4 med `app/`-katalogstruktur, SSR med statisk generering
  • Tailwind CSS — Utility-first styling
  • Firebase Hosting — Globalt CDN, enkle deploys
  • Tilpasset i18n — Et håndlaget composable med `vue-i18n`
  • Nitro serverruter — Artikler som lokale JSON-filer

Det flerspråklige systemet

Nettsiden støtter 10 språk. Jeg unngikk bevisst `@nuxtjs/i18n` og skrev et `useI18n()`-composable som leser fra en `locale`-informasjonskapsel.

Artikler som lokal JSON

Hver artikkel er en JSON-fil med et `translations`-objekt — én oppføring per locale med `title`, `summary` og `body` i Markdown.

SEO og forhåndsrendering

En `nitro:config`-hook leser `content/articles/`-katalogen før Vite-bygget og legger til hver `/news/[slug]`-rute i forhåndsrenderingslisten.

Hva er neste

Nettsiden har nå ordentlig ruting, en nyhetsfeed og full flerspråklig støtte.

Del