Section 1: Lab: 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 Nuxt CLI commands
- The app, server, shared and public directories
- Configure nuxt.config.ts and explore the app with Nuxt DevTools
- Lab: a first Nuxt project running on your own machine
Section 2: Rendering Modes in Nuxt
- How CSR, SSR, SSG and hybrid rendering differ
- What hydration is, and code that only runs in the browser
- Use ClientOnly and onMounted when needed
- Lab: compare the page source of SSR and CSR pages
Section 3: Lab: File-Based Routing
- Create pages in the pages directory and an index.vue home page
- Dynamic routes such as [id].vue and reading values with useRoute
- Nested routes with NuxtPage and catch-all routes
- Lab: a blog with a list page and detail pages
Section 4: Layouts, Components and Pages
- app.vue and the default layout in the layouts directory
- Choose a layout per page with definePageMeta
- Component auto imports, directory-based naming and lazy components
- Lab: a header, footer and members' layout
Section 5: NuxtLink, Navigation and Middleware
- Link pages with NuxtLink and automatic prefetching
- Navigate from code with navigateTo
- Inline, named and global route middleware
- Lab: middleware that guards pages requiring login
Section 6: Lab: State and Composables
- useState for shared, SSR-safe state
- Write auto-imported composables and utilities
- runtimeConfig and app.config for configuration
- Lab: a shopping cart shared across every page