Section 1: Lab: Vue 3.5 with the Composition API
- Set up Node.js, VS Code and the Vue - Official extension
- script setup, ref, reactive and computed
- Template syntax, v-if, v-for and v-model
- Lab: a reactive product list page
Section 2: Lab: Components and Composables
- Pass data with typed props and emits
- defineModel for two-way bound components
- Extract reusable logic into composables
- Lab: reusable product card and cart components
Section 3: Introducing Nuxt 4 and Creating a Project
- What Nuxt is and how it differs from Vue with Vite
- Create a project with npm create nuxt and use the Nuxt CLI
- The Nuxt 4 app, server and shared directories
- What changed from Nuxt 3 and how to migrate an existing project
Section 4: Lab: File-Based Routing and Layouts
- Create pages in the pages directory and use NuxtLink
- Dynamic and nested routes
- Default layouts and choosing a layout with definePageMeta
- Lab: a store site with list, detail pages and a menu
Section 5: Auto Imports and Route Middleware
- Auto imports of components, composables and utilities
- Customise or disable auto imports when needed
- Global and page-specific middleware
- Lab: middleware that guards member pages
Section 6: Lab: Data Fetching in Nuxt
- How useFetch, useAsyncData and $fetch differ
- Fetch data during SSR without fetching again on the client
- The status, error and refresh options
- Lab: show products from an external API with loading states