六维教程

Nuxt4 教程

介绍

Nuxt 是什么

用 Vue 写一个纯前端项目,你总会反复遇到路由、构建、SEO 这类和业务无关的麻烦,每个项目都要自己从头搭一遍,解决方式还五花八门。

Nuxt 4 是基于 Vue.js 的全栈框架,它把上面这些基础设施一次性配好,做成约定,让所有项目用同样的方式开发,你只需要专注写页面和业务逻辑。

如果你已经学过 Vue3 教程,组件、响应式、指令等知识在 Nuxt 里全部通用,打个比方,Vue 是一堆高质量的砖瓦水泥,而 Nuxt 是已经画好图纸、通好水电、配好物业的精装房,你可以拎包入住。

一句话概括核心认知,Nuxt 等于 Vue 加上文件系统路由、服务端渲染和全栈 API 等能力。

Nuxt = Vue + 文件系统路由 + 服务端渲染(SSR)+ 全栈 API + 更多

发展历程

  • 2018 年初,Nuxt 1.0 发布,确立了「约定优于配置」的文件系统路由与 SSR 方案。
  • 2018 年 9 月,Nuxt 2.0 发布,借助 Webpack 4 等升级走向成熟,成为 Vue 服务端渲染的事实标准。
  • 2022 年 11 月,Nuxt 3.0 发布,基于 Vue 3、Vite 与自研的 Nitro 服务器引擎重写,TypeScript 支持开箱即用。
  • 2025 年 7 月,Nuxt 4.0 稳定版发布,带来新的 app/ 目录结构与更智能的数据获取,本教程基于 Nuxt 4 讲解。

核心能力

Nuxt 提供了一整套开箱即用的能力。

能力 说明
文件系统路由 app/pages/ 目录新建文件即生成路由,无需手动配置
自动导入 组件、组合式函数、工具函数免 import,即写即用
服务端渲染(SSR) 默认在服务器生成 HTML 再发给浏览器,SEO 好、首屏快
全栈能力 server/ 目录可以直接写后端 API,前后端一个项目
内置工具链 打包、类型检查、环境变量、状态管理开箱即用
一键部署 同一份代码可部署到 Node 服务器、Vercel、Cloudflare 等平台

SPA 与 SSR

上面表格里提到服务端渲染(SSR),它和传统纯 SPA(单页应用)有本质区别,理解这个区别,是理解 Nuxt 一切特性的基础。

对比维度 纯 SPA 应用 Nuxt SSR 应用
页面来源 浏览器收到一个空 HTML,靠 JS 渲染内容 服务器渲染好完整 HTML,浏览器直接显示
首屏速度 慢,要等 JS 下载执行 快,内容随 HTML 一起到达
SEO 搜索引擎很难看到内容 搜索引擎直接读取 HTML 中的内容
数据获取 只能在浏览器发起请求 服务器先获取数据再渲染
交互体验 切换路由不刷新页面 切换路由同样不刷新(hydration 接管)

水合(hydration)

SSR 的核心机制叫 hydration(水合),流程是这样的:

  1. 用户请求页面,服务器执行 Vue 代码,渲染出完整 HTML 并返回
  2. 浏览器立即显示这个 HTML,用户马上能看到内容
  3. 浏览器下载 JS 代码,Vue 在后台重新执行一遍,把静态 HTML 变成可交互的响应式应用

也就是说,同一个页面经历了服务端渲染和客户端渲染两次执行,浏览器端的那次”接管”就是 hydration。

这就是为什么同一个 useFetch 请求在服务端和客户端都能执行,数据还能保持一致。

前置准备

开始之前建议先掌握下面这些内容。

  • Vue3 基础(Vue3 教程):组件、响应式、组合式函数是 Nuxt 开发的根基,Nuxt 完全复用 Vue 的知识。
  • npm(NPM 教程):创建项目、安装依赖都要用到,至少会用 npm installnpm run dev
  • TypeScript 基础(TypeScript 教程):Nuxt 默认使用 TypeScript,但为了降低难度,本教程示例不写类型,跟着抄即可,想深入了解可学。

参考资料

本教程在编写过程中参考了下列资料:

上一篇
Vue3 项目实战
下一篇
Nuxt4 环境搭建