核心功能
用约定式目录结构把路由、代码分割、数据获取、TypeScript 这些重复工作自动化,让开发者从头到尾只写 .vue 文件。适合需要服务端渲染、静态生成或混合渲染,且不希望被部署平台锁定的 Vue 项目。
功能亮点
少写一半 import
组件与组合式函数按目录约定自动导入,打包时仍会做 tree-shaking,不会带进无用代码
渲染策略按路由配
用 routeRules 让一部分路由预渲染成静态、一部分保持 SSR,同一个项目里混着来
前端项目自带后端
在 server/api/ 下建文件即生成接口,Nitro 在开发期用 Rollup 与 Node.js worker 做上下文隔离
部署产物很轻
生产构建把应用与服务端打进一个 .output 目录,经压缩并剥离 Node.js 模块(polyfill 除外)
没有平台锁定
同一份产物可跑在 Node、Deno、Serverless、边缘环境,也能预渲染后丢到静态托管
适用场景
• 需要 SEO 与快速首屏的 Vue 内容站,靠默认 SSR 直接返回完整 HTML
• 前后端一体的中小型应用,在 server/api/ 里写接口、在 app/pages/ 里写页面
• 同一站点里部分页面要静态、部分要动态时,用 routeRules 做混合渲染
安装配置
bash
前置条件:Node.js 22.x 或更新版本(官方推荐使用当前的 active LTS 版本)。 创建新项目 —— npm: npm create nuxt@latest <project-name> 进入项目目录: cd <project-name> 或直接用 VS Code 打开: code <project-name> 启动开发服务器(-o 表示自动打开浏览器): npm run dev -- -o 启动后浏览器会自动打开 http://localhost:3000
使用方法
bash
# 创建项目并跑起来 npm create nuxt@latest <project-name> cd <project-name> npm run dev -- -o # 约定目录(由框架自动识别,无需注册) # app/pages/ 放页面组件,目录结构即路由 # server/api/ 放服务端接口,由 Nitro 读取后生成 API # server/middleware/ 放服务端中间件 # 全站静态化,产出可丢到静态托管的文件 nuxt generate
关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
指标Nuxt
价格免费
开源是
上手难度进阶
相关工具
同类工具
优点
- 目录约定覆盖路由、代码分割、数据获取与类型生成,重复性配置基本不用自己动手
- 自动导入省去大量 import 语句,同时保留 tree-shaking,不以包体膨胀为代价
- Nitro 让前端项目自带服务端接口层,生产构建收敛成单个 .output 目录
- 官方明确无供应商锁定,Node、Deno、Serverless、Workers、边缘、静态托管都能部署
缺点
- 强约定的目录结构意味着要先理解一整套目录含义,偏离约定时需要改配置覆盖默认行为
- 自动导入让符号来源不那么直观,排查「这个函数从哪来的」时不如显式 import 一目了然
- 要求 Node.js 22.x 及以上,旧运行时环境需要先升级