字节笔记本

2026年2月22日

Nitro v3 - 全栈 Vite 应用开发框架

Nitro v3 是一个与运行时无关的全栈框架,为 Vite 应用提供生产级服务器能力。它让你可以在 Vite 项目中直接创建 API 路由和服务器端逻辑,并支持零配置部署到多个托管平台。

核心特性

1. 与 Vite 无缝集成

Nitro 作为 Vite 插件工作,扩展了 Vite 的开发服务器和构建流程:

typescript
import { defineConfig } from 'vite'
import { nitro } from 'nitro/vite'

export default defineConfig({
  plugins: [nitro()],
  nitro: {
    preset: 'standard'
  }
})

2. 文件系统路由

routes/ 目录下创建文件即可自动生成 API 路由:

typescript
// routes/hello.ts
import { defineHandler } from 'nitro/h3'

export default defineHandler(({ req }) => {
  return { api: 'works!' }
})

3. 多运行时支持

Nitro 的构建输出兼容多种运行时和托管平台:

  • Node.js / Bun / Deno
  • Cloudflare Workers
  • Vercel / Netlify
  • AWS Lambda

无需修改代码即可在不同平台间迁移。

4. 高性能架构

  • 代码分割:按需加载路由代码
  • 编译时优化:移除运行时路由器的开销
  • 零启动时间:服务器启动时间接近 0ms

5. 内置存储层

提供运行时无关的键值存储,支持 20+ 种驱动:

  • 内存存储(开发环境)
  • Redis
  • 文件系统
  • S3 兼容存储

6. 内置数据库支持

默认集成 SQLite,支持 10+ 种数据库:

  • PostgreSQL
  • MySQL
  • PGLite
  • 通过统一 API 查询

7. 缓存机制

支持服务器路由和函数的缓存,直接利用存储层:

typescript
export default defineCachedHandler(async (event) => {
  // 此函数结果会被缓存
  return await fetchExpensiveData()
}, {
  maxAge: 60 * 60 // 1小时
})

8. 服务器端渲染

支持多种渲染方式:

  • 模板引擎渲染 HTML
  • React / Vue / Svelte 服务端渲染
  • 同构渲染(Universal Rendering)

支持的 HTTP 框架

Nitro 允许你使用喜欢的 HTTP 库:

  • H3 - Nitro 默认,轻量高性能
  • Hono - 快速、小巧的 Web 框架
  • Elysia - TypeScript 优先的高性能框架
  • Web Standard - 标准 Web API

快速开始

创建新项目

bash
# 使用模板创建
npx degit nitrojs/nitro/templates/default my-nitro-app
cd my-nitro-app
npm install
npm run dev

现有 Vite 项目集成

bash
npm install nitro

然后在 vite.config.ts 中添加 Nitro 插件即可。

生态系统

Nitro 被多个知名框架采用:

  • Nuxt - Vue 全栈框架
  • SolidStart - SolidJS 元框架
  • TanStack Start - TanStack 全栈解决方案

相关链接

分享: