Roadmap › Vue.js 3 (with Pinia, Vue Router & Nuxt basics) › Module: Quality and Performance
Lessons in this course (17)
17. Nuxt and migrating Vue 2 → Vue 3
AdvancedMediumLesson 17 of 17
Nuxt (Nuxt 4, 2025): file-based routing (pages/), layouts, auto-imports of components and composables, SSR/SSG/hybrid rendering per route (routeRules), server API routes (server/api on the Nitro engine), useFetch/useAsyncData with SSR-friendly data fetching, modules ecosystem (Pinia, Tailwind, i18n, content). Deploy to Node, serverless or edge.
Vue 2 → 3 migration (Vue 2 is EOL since Dec 2023):
- Use the migration build (
@vue/compat) to run Vue 2 code on Vue 3 with deprecation warnings, fix them incrementally, then remove compat. - Breaking changes:
new Vue()→createApp(); global API (Vue.use,Vue.component) → app instance; filters removed (use methods/computed);v-modelon components usesmodelValue/update:modelValue;$listenersmerged into$attrs;v-ifpriority overv-for;beforeDestroy/destroyed→beforeUnmount/unmounted;$on/$offremoved (no event bus); functional components simplified;.syncreplaced byv-model:prop. - Upgrade ecosystem: Vue Router 4, Pinia (or Vuex 4), Vuetify 3/other UI library versions, Vite instead of Vue CLI.
- Vue 2.7 can be an intermediate step (Composition API available in Vue 2).