跳到主要内容

直观的Vue 全栈框架

以直观且可扩展的方式,借助 Vue.js 创建类型安全、性能优异、可用于生产环境的全栈 Web 应用与网站。

terminal
$npm create nuxt@latest my-app
服务端渲染
静态站点生成
混合渲染
边缘端渲染
自动路由
代码分割
数据获取
状态管理
SEO 优化
自动导入
TypeScript
全栈能力
300+ 模块
Nitro 引擎
零配置
服务端渲染
静态站点生成
混合渲染
边缘端渲染
自动路由
代码分割
数据获取
状态管理
SEO 优化
自动导入
TypeScript
全栈能力
300+ 模块
Nitro 引擎
零配置
/ features

自动化与约定

Nuxt 通过约定和有主见的目录结构自动完成重复性任务,让你专注于功能开发。你仍可通过配置文件自定义和覆盖默认行为。

基于文件的路由

根据 app/pages/ 目录结构自动定义路由,组织更清晰,无需手动配置。

app/pages/
├─ index.vue  → /
├─ about.vue  → /about
└─ posts/[id].vue → /posts/:id

代码分割

自动将代码拆分为更小的块,减少应用初始加载时间。

服务端渲染

内置 SSR 能力,无需自己搭建服务器,开箱即用。

自动导入

将 composables 和组件写到对应目录即可直接使用,并享有 tree-shaking 优势。

composables/ components/ utils/ auto-imported

数据获取工具

提供 composables 处理兼容 SSR 的数据获取,支持多种策略。

零配置 TypeScript

借助自动生成的类型和 tsconfig.json,无需学习 TypeScript 即可编写类型安全的代码。

Vite 构建

默认使用 Vite,开发环境支持热模块替换(HMR),生产环境按最佳实践打包。

/ getting started

快速开始

几秒钟即可搭建一个 Nuxt 起始项目

1

前置条件

需要 Node.js 22.x 或更新版本(推荐使用活跃 LTS 版本),以及一个文本编辑器与终端。

2

创建新项目

打开终端,使用以下命令创建一个全新的 starter 项目。

bash
pnpm create nuxt@latest my-app
cd my-app
3

启动开发服务器

以开发模式启动 Nuxt 应用,浏览器会自动打开 http://localhost:3000。

bash
pnpm dev -o
4

构建生产版本

构建用于生产环境的应用,输出到 .output 目录,可部署到任何支持 JavaScript 的系统。

bash
pnpm build
/ directory structure

目录结构

通过约定和有主见的目录结构自动完成重复性任务

app/核心

应用源代码主目录,包含组件、页面、布局等。

app/pages/路由

基于文件的路由:每个 Vue 文件对应一个 URL 路由。

app/components/自动导入

组件目录,组件会被自动导入到整个应用中。

app/composables/自动导入

组合式函数目录,自动导入并可跨组件复用。

app/layouts/

页面布局组件,通过 setPageLayout() 动态切换。

app/middleware/

路由中间件,在导航前执行自定义逻辑。

app/plugins/

插件目录,在应用启动时注册自定义功能。

app/utils/自动导入

工具函数目录,自动导入到整个应用。

app/assets/

静态资源目录,由构建工具(Vite)处理。

app/app.vue入口

应用根组件,定义全局 UI 与布局结构。

app/app.config.ts

运行时应用配置,可在客户端响应式访问。

public/

静态公共资源目录,原样托管到根路径 /。

server/全栈

服务端目录,包含 API 路由、中间件与工具。

server/api/

服务端 API 路由,自动生成可调用的接口端点。

content/

内容目录,配合 @nuxt/content 模块实现基于文件的内容管理。

modules/

本地模块目录,自动注册到 Nuxt 模块系统。

layers/

Layer 层级目录,支持项目组合与复用。

nuxt.config.ts配置

Nuxt 配置文件,自定义构建、模块、运行时等行为。

/ api

核心 API

内置强大的 composables、组件与工具函数

<NuxtPage>

渲染当前页面组件,配合 vue-router 渲染 pages/ 中的路由。

<NuxtLink>

页面间导航链接,自动预取目标页面,支持过渡动画。

<NuxtLayout>

渲染当前页面布局,可动态切换 layout。

<ClientOnly>

仅在客户端渲染内容,SSR 时渲染占位符。

<NuxtImg>

优化图片加载的组件,支持多种格式与尺寸。

<NuxtErrorBoundary>

捕获子组件运行时错误,展示降级 UI。

准备好构建未来了吗?

从 nuxt.new 一键启动你的项目,几秒钟即可在 CodeSandbox、StackBlitz 或本地运行起来。