Nuxt 淘汰!尤雨溪推荐全新框架,极致性能,体验感拉满!

0 阅读3分钟

640 (3).png Nitro 是一个跨平台、高性能的服务端构建与运行框架,最早是 Nuxt.js 的官方服务引擎,现在已经成长为独立的全栈服务底座。

640 (4).png

Nitro v3 beta 全新发布,团队选择彻底回归本质,重新设计:

  • 更精简的 API
  • 全面对齐 Web 标准
  • 原生级 Rolldown + Vite v8 集成
  • 对开发者与自动化工具都更友好的体验

640 (5).png

为什么要做新一代服务端构建?

随着 Serverless、边缘计算普及,服务端正面临前端多年前解决过的难题:

  • 冷启动:每毫秒都关键
  • 内存限制:臃肿依赖直接超限
  • 包体积:决定部署与启动速度
  • 运行环境:Node、Deno、Bun、Cloudflare Workers、Vercel 全要兼容

Nitro v3 带来原生 Vite 插件,一行配置就能把任意 Vite 项目变成全栈应用。

// vite.config.ts  
import { defineConfig } from "vite";  
import { nitro } from "nitro/vite";  
  
export default defineConfig({  
  plugins: [nitro()],  
});

加入后立刻拥有:

  • 文件系统路由式 API
  • 与前端构建深度融合的 SSR
  • 一次 vite build 同时产出前端 + 后端优化产物(.output)
  • 支持 React / Vue / Solid.js 等任意框架

🚀 默认高性能,零冗余

Nitro 在构建期编译路由,运行时无传统路由库,按需加载。 处理一次请求,只加载、执行必需代码。

  • 标准预设打包体积 < 10kB
  • 可通过 srvx 接近原生速度运行
  • 保留 H3 全部优秀能力
  • 依赖从 321 个砍到 不足 20 个,极致轻量化

🖌️ 全新身份:nitro 替代 nitropack

v3 最大的 break change 之一:包名彻底简化

  • 旧:nitropack
  • 新:nitro

导入路径全面清爽化:

import { defineNitroConfig } from "nitro/config";  
import { defineHandler } from "nitro";  
import { useStorage } from "nitro/storage";  
import { useDatabase } from "nitro/database";

不再需要深层 nitropack/runtime/*,单元测试、非构建环境也能轻松导入。


🔧 自由选择框架:不绑定,不限制

Nitro v3 不对你的 HTTP 层做强制约定。 你可以用文件路由,也可以完全自定义入口,接入任何兼容 Web 标准的框架

// server.ts  
import { Honofrom "hono";  
const app = new Hono();  
app.get("/"(c) => c.text("Hello from Hono!"));  
export default app;

Hono、Elysia、h3……只要遵循 Web 标准,就能无缝运行。


🌐 H3 v2:全面 Web 标准化

Nitro v3 升级到 H3 v2,完全基于原生 Web 标准重写: Request / Response / Headers / URL

代码更干净、可移植性更强:

// routes/hello.ts  
import { defineHandler } from "nitro";  
export default defineHandler((event) => {  
  const ua = event.req.headers.get("user-agent");  
  return { message: "Hello Nitro v3!", ua };  
});

读取请求体直接用原生 API,无封装、无多余抽象:

// routes/submit.ts  
import { defineHandler } from "nitro";  
export default defineHandler(async (event) => {  
  const body = await event.req.json();  
  return { received: body };  
});

懂 Web API,就懂 H3 v2。


🗄 内置跨运行时核心能力(按需启用)

Nitro 提供轻量、跨运行时、完全可选的服务端能力,不用则不打包。

存储 Storage

20+ 驱动:FS、Redis、S3、Cloudflare KV、Vercel Blob 等,命名空间隔离,无缝切换。

import { useStorage } from "nitro/storage";  
const storage = useStorage();  
await storage.setItem("user:1", { name"Nitro" });

缓存 Caching

路由级、函数级缓存,支持 stale-while-revalidate、TTL、自定义键。

import { defineCachedHandler } from "nitro/cache";  
export default defineCachedHandler(() => {  
  return "缓存 1 小时";  
}, { maxAge3600 });

数据库 Database

内置 SQL 层,开发默认 SQLite,线上无缝切换 PostgreSQL、MySQL 等。

import { useDatabase } from "nitro/database";  
const db = useDatabase();  
const users = await db.sql`SELECT * FROM users`;

🌍 随处部署:一份代码,全平台通吃

构建后统一输出 .output,自动适配:

  • 运行时:Node.js、Bun、Deno
  • 平台:Cloudflare Workers、Netlify、Vercel、AWS Lambda、Azure、Firebase、Deno Deploy 等

零配置自动识别目标平台,无感使用 ISR、SWR、边缘渲染。


🎨 SSR 服务端渲染

支持任意模板引擎,直接在服务端渲染 React、Vue、Svelte,渐进式升级到全栈同构。


🟢 Nuxt v5 核心引擎

Nitro v3 将是 Nuxt v5 的底层底座。 Nuxt v5 会内置 Nitro v3 + H3 v2,带来:

  • Web 标准请求处理
  • Rolldown 构建加速
  • Vite Environment API 全面赋能

Nuxt 用户现在就可以提前熟悉 v3 API,为升级做准备。