Section 1: Lab: รู้จัก Nuxt 4 และสร้างโปรเจกต์
- Nuxt คืออะไร และต่างจาก Vue ที่ใช้ Vite อย่างไร
- สร้างโปรเจกต์ด้วย npm create nuxt และคำสั่งของ Nuxt CLI
- โครงสร้างโฟลเดอร์ app, server, shared และ public
- ตั้งค่า nuxt.config.ts และสำรวจแอปด้วย Nuxt DevTools
- Lab: โปรเจกต์ Nuxt แรกที่รันบนเครื่องของตัวเอง
Section 2: โหมดการ Render ใน Nuxt
- CSR, SSR, SSG และ Hybrid Rendering ต่างกันอย่างไร
- Hydration คืออะไร และโค้ดที่ทำงานได้เฉพาะในเบราว์เซอร์
- ใช้ ClientOnly และ onMounted เมื่อจำเป็น
- Lab: เทียบผล View Source ของหน้า SSR และ CSR
Section 3: Lab: File-based Routing
- สร้างหน้าในโฟลเดอร์ pages และหน้าแรก index.vue
- Dynamic Route เช่น [id].vue และอ่านค่าด้วย useRoute
- Nested Route ด้วย NuxtPage และ Catch-all Route
- Lab: เว็บบทความที่มีหน้ารายการและหน้ารายละเอียด
Section 4: Layout, Component และ Pages
- app.vue และ Layout เริ่มต้นในโฟลเดอร์ layouts
- เลือก Layout รายหน้าด้วย definePageMeta
- Auto Import ของ Component, การตั้งชื่อตามโฟลเดอร์ และ Lazy Component
- Lab: Header, Footer และ Layout สำหรับหน้าสมาชิก
Section 5: NuxtLink, การนำทาง และ Middleware
- เชื่อมหน้าด้วย NuxtLink และการ Prefetch อัตโนมัติ
- เปลี่ยนหน้าจากโค้ดด้วย navigateTo
- Route Middleware แบบเฉพาะหน้า แบบตั้งชื่อ และแบบ Global
- Lab: Middleware กันหน้าที่ต้องเข้าสู่ระบบก่อน
Section 6: Lab: State และ Composable
- useState สำหรับ State ที่แชร์ได้และปลอดภัยกับ SSR
- เขียน Composable และ Utility ที่ Auto Import ได้
- runtimeConfig และ app.config สำหรับค่าคอนฟิก
- Lab: ตะกร้าสินค้าที่ใช้ข้อมูลร่วมกันทุกหน้า