Skip to content
📖预计阅读时长:0 分钟字数:0

NuxtJS 学习路线

从基础到专家的 Nuxt 学习指南,覆盖文件路由、SSR/SSG、数据获取、服务端 API 与部署。


学习路线总览

┌─────────────────────────────────────────────────────────────────────────┐
│                        NuxtJS 学习路线                                   │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐                 │
│   │   基础篇    │───▶│   进阶篇    │───▶│   专家篇    │                 │
│   │  2-3 周     │    │  3-4 周     │    │  持续深入   │                 │
│   └─────────────┘    └─────────────┘    └─────────────┘                 │
│                                                                          │
│   项目与目录结构      数据获取与 SSR       认证与权限                     │
│   文件路由与页面      Composables/状态     性能与 SEO                     │
│   组件与自动导入      中间件/布局/API      模块与 Nitro/部署               │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘

核心知识点总览

层级核心概念说明
基础目录结构 / app.vue / nuxt.config项目骨架与配置
基础文件路由 (pages)基于目录的自动路由、动态路由
基础组件与自动导入components、composables 自动可用
进阶useFetch / useAsyncDataSSR 友好数据获取、避免重复请求
进阶useState / Composables / 插件共享状态与逻辑复用
进阶中间件 / 布局 / server API路由守卫、布局、全栈 API
专家认证与 SEO鉴权、meta、预渲染、sitemap
专家模块 / Nitro / 部署扩展、SSR/静态/Node 部署

基础篇 (Foundation)

目标:能基于 Nuxt 创建页面应用,理解文件路由与自动导入

1. 项目与目录结构

  • 创建项目:npx nuxi initnpx nuxi@latest init
  • 核心目录:app.vuepages/components/nuxt.config.ts
  • 入口与 <NuxtPage />、根布局概念

2. 文件路由与页面

  • pages/ 下文件即路由:index.vue/about.vue/about
  • 动态路由:[id].vue[...slug].vue
  • 嵌套路由与 <NuxtPage /> 占位

3. 组件与自动导入

  • components/ 下组件按目录与文件名自动注册,无需手写 import
  • 其他自动导入:Vue API(ref、computed)、Nuxt 工具(useState、navigateTo)、composables 目录

基础篇学习检查清单

  • [ ] 能创建 Nuxt 项目并理解 app.vue、pages、nuxt.config 的作用
  • [ ] 能通过新建/移动 pages 文件添加或调整路由
  • [ ] 能在页面中使用 components 下组件且无需 import
  • [ ] 能完成一个多页展示型小站(如介绍页 + 列表 + 详情)

进阶篇 (Advanced)

目标:掌握 SSR 数据获取、状态与 Composables、中间件与布局、服务端 API

4. 数据获取与 SSR

  • useFetchuseAsyncData$fetch 的区别与使用场景
  • 服务端取数一次、序列化到客户端(避免重复请求与 hydration 问题)
  • lazywatchtransform、key 等选项

5. 状态与 Composables

  • useState 做跨组件/跨请求的共享状态(SSR 安全)
  • composables/ 目录与自动导入,组合式逻辑复用
  • 插件 defineNuxtPlugin 与执行顺序

6. 中间件与布局

  • 路由中间件:defineNuxtRouteMiddlewarenavigateToabortNavigation
  • 全局/页面级中间件、命名中间件
  • layouts/<NuxtLayout>,默认布局与按页面指定布局
  • 错误页 error.vueclearError

7. 服务端 API 与全栈

  • server/api/ 下文件即 API 路由,自动带 /api 前缀
  • defineEventHandlergetQueryreadBody、返回 JSON
  • 动态路由 [id].ts、h3 与 Nitro 基础概念

进阶篇学习检查清单

  • [ ] 能使用 useFetch/useAsyncData 正确做服务端数据获取并理解序列化
  • [ ] 能用 useState 与 composables 组织共享状态与逻辑
  • [ ] 能写路由中间件做登录校验或重定向
  • [ ] 能定义 layouts 并在页面中切换
  • [ ] 能在 server/api 下实现若干接口并在前端调用

专家篇 (Expert)

目标:认证与权限、性能与 SEO、Nuxt 模块与 Nitro、测试与部署

8. 认证与权限

  • 登录态存储:cookie、useState、服务端 session 思路
  • 路由中间件中校验登录并 navigateTo('/login')abortNavigation
  • 服务端 API 中读取 cookie/session 做鉴权

9. 性能与 SEO

  • useHeaduseSeoMeta 管理 title/description/meta
  • 懒加载组件与路由、图片优化
  • 预渲染、sitemap、robots(模块或自定义)

10. 模块与 Nitro

  • Nuxt 模块概念与 defineNuxtModule、hooks
  • Nitro 与预设:node-serverstatic、各平台 preset
  • ssr: true/falsenuxt buildnuxt generate 的区别

11. 测试与部署

  • 单元测试与 E2E 思路(Vitest、Playwright 等)
  • 部署方式:Node 服务、静态站点、边缘函数
  • 环境变量、CI 与 Docker 简要

专家篇学习检查清单

  • [ ] 能实现基于中间件与 cookie/state 的登录与受保护页
  • [ ] 能为关键页配置 SEO meta 并理解预渲染与 SSG
  • [ ] 能说明 Nuxt 模块与 Nitro 预设对部署形态的影响
  • [ ] 能完成一次生产构建并部署到至少一种环境

学习资源推荐

官方资源

前置知识

  • Vue 3:组合式 API、<script setup>、响应式
  • 基础 TypeScript、Node 与 HTTP 概念

实践项目建议

阶段项目涉及知识点
基础个人/产品介绍站文件路由、布局、组件
进阶带列表与详情的博客/商品站useFetch、server API、中间件
专家带登录与后台的完整站认证、SEO、部署

文档索引

基础篇

进阶篇

专家篇


#Nuxt #Vue #SSR #学习路线