Artikel Header Bild zu Nuxt 3.15: Alle Neuerungen und Highlights des Updates im Überblick

Nuxt 3.15: Alle Neuerungen und Highlights des Updates im Überblick

nuxt release | Antony Konstantinidis | 1 Minute

Am 24. Dezember 2024 wurde Nuxt Version 3.15 veröffentlicht, die mehrere erwähnenswerte Verbesserungen und neue Funktionen einführt.

Integration von Vite 6

Nuxt 3.15 integriert erstmals Vite 6. Obwohl es sich um ein Major-Update handelt, sollten keine Kompatibilitätsprobleme für Nuxt-Nutzer auftreten. Dennoch ist Vorsicht geboten, wenn Abhängigkeiten eine spezifische Vite-Version erfordern. Eine der bedeutendsten Neuerungen in Vite 6 ist die Einführung der Environment API, die in Kombination mit Nitro die Server-Entwicklungsumgebung verbessern soll.

Mehr Informationen dazu gibt es hier.

Verbesserungen der Chromium DevTools

Die Integration der Nuxt DevTools in Chromium-basierte Browser wurde optimiert. Durch die Nutzung der Chrome DevTools Extensibility API können nun Nuxt-Hook-Timings im Performance-Panel der Browser-DevTools angezeigt werden.

Das callOnce-Composable ermöglicht das einmalige Ausführen von Code. Mit der neuen Option mode: 'navigation' kann der Code nun nur einmalig pro Navigation ausgeführt werden, wodurch die doppelte Ausführung auf Server und Client vermieden wird.

await callOnce(() => counter.value++, { mode: 'navigation' })

Hot Module Replacement (HMR) für Templates und Seiten

Nuxt 3.15 implementiert HMR für virtuelle Dateien wie Routen, Plugins und generierte Dateien sowie für Seiten-Metadaten innerhalb des definePageMeta-Makros. Dies führt zu einer schnelleren Entwicklungserfahrung, da Seiten bei Routenänderungen nicht neu geladen werden müssen.

Erweiterungen der Seiten-Metadaten

Es wird nun die Extraktion zusätzlicher Seiten-Metadaten-Schlüssel über experimental.extraPageMetaExtractionKeys unterstützt, was insbesondere für Modulautoren nützlich ist. Zudem können lokale Funktionen in definePageMeta verwendet werden, um beispielsweise Routenparameter zu validieren.

function validateIdParam(route) {
  return !!(route.params.id && !isNaN(Number(route.params.id)))
}

definePageMeta({
  validate: validateIdParam,
})

Leistungsverbesserungen

Das App-Manifest wird im Browser vorab geladen, wenn es beim Hydrieren der Anwendung verwendet wird. Zudem werden nicht benötigte Teile des vue-router, wie der Hash-Modus, aus dem Bundle entfernt, sofern keine Anpassungen in app/router.options.ts vorgenommen wurden.

Inhaltsverzeichnis


Email Newsletter

Um alle Neuigkeiten zu erfahren, abonniere hier unseren Newsletter!

Newsletter abonnieren
Antony Konstantinidis

Antony Konstantinidis