vinext.

VITE × NEXT.JS · CLOUDFLARE WORKERS

在 Vite 上运行Next.js应用。

vinext 在 Vite 上重新实现 Next.js 的 API 表面——而不是消费next build的产物。App Router、Pages Router、RSC、Server Actions、中间件、ISR,全部在 Vite 工具链上原生运转,并最深度地集成 Cloudflare Workers。

正在积极开发中 · 预期兼容性缺口,采用前请评估

0%

Next.js 16 API 表面覆盖

0+

Vitest 单元与集成测试

0

Playwright E2E 测试

0+

next/* 模块垫片

01

目前可用的功能

vinext 同时支持两种路由器与完整的现代 Next.js 服务端能力。Cloudflare Workers 的集成最为深入,Node.js 和其他平台也提供不同程度的支持。

/01

双路由器

App Router 与 Pages Router

开发与生产构建均支持。文件系统路由、SSR、客户端水合,在 Workers 上对两种路由器都有效。

/02

服务端渲染

RSC · Server Actions · 中间件

React Server Components、Server Actions、路由处理器与中间件——Next.js 16 的核心服务端能力。

/03

输出形态

ISR · 静态导出 · Standalone

静态生成、增量静态再生、output: "export",以及自托管的 standalone Node.js 输出。

/04

模块兼容

核心 next/* 模块

next/link、next/image、next/navigation、next/headers、next/cache,以及完整的 Metadata API。

/05

Workers 原生

Cloudflare 深度集成

Bindings、KV 缓存适配器与按请求图片优化,一条命令完成构建与部署。

/06

迁移工具

vinext check · init · Agent Skill

兼容性扫描、一键迁移,以及可供 AI agent 驱动的技能包。

02

三条命令,上线 Workers

官方初始化命令会替你配置依赖、scripts、Vite 以及部署目标——这是创建或迁移 vinext 项目的推荐方式。

a

新建项目

用 create-vinext-app 创建带 Tailwind CSS 的 TypeScript App Router 项目,默认已准备好部署到 Cloudflare Workers。

b

迁移已有项目

vinext init 一条命令自动化完成迁移:兼容性扫描、依赖安装、配置生成,全程非破坏性。

c

AI agent 迁移(可选)

vinext 附带可选的 Agent Skill,可与 Claude Code、OpenCode、Cursor、Codex 等数十种 AI 编程工具配合,自动排查兼容性问题。

终端
bash
pnpm create vinext-app@latest my-app
npx vinext init
npx skills add cloudflare/vinext
vite.config.ts
ts
import { defineConfig } from "vite";
import vinext from "vinext";

export default defineConfig({
  plugins: [vinext()],
});
03

在线示例

这些示例部署在 Cloudflare Workers 上,并在每次推送到 main 时更新——直接打开,感受 vinext 的实际表现。

示例说明URL
App Router PlaygroundVercel 的 Next.js App Router Playground 跑在 vinext 上app-router-playground.vinext.workers.dev
Hacker NewsHN 克隆(App Router、RSC)hackernews.vinext.workers.dev
Nextra DocsNextra 文档站(MDX、App Router)nextra-docs-template.vinext.workers.dev
App Router(最小)Workers 上的最小 App Routerapp-router-cloudflare.vinext.workers.dev
Pages Router(最小)Workers 上的最小 Pages Routerpages-router-cloudflare.vinext.workers.dev
Static export混合 App/Pages Router 站点,仅作为静态资源提供static-export.vinext.workers.dev
RealWorld APIREST API 路由示例realworld-api-rest.vinext.workers.dev
Benchmarks Dashboard构建性能随时间跟踪(基于 D1)vinext.dev/benchmarks
04

为什么是 vinext

Vite 已经成为现代 Web 框架的默认构建工具——快速的 HMR、干净的插件 API、原生 ESM,以及不断壮大的生态。随着 @vitejs/plugin-rsc 加入对 React Server Components 的支持,现在终于可以在 Vite 上构建一套完整的 RSC 框架了。

vinext 在 Vite 上重新实现 Next.js 的 API 表面,让已有的 Next.js 应用可以在另一套工具链上运行。 到目前为止,结论是:相当一部分规模的应用确实可以。 它到处都能运行——原生支持 Cloudflare Workers,并且可以通过 Nitro 部署到 Vercel、Netlify、AWS、Deno Deploy 等更多平台。

/1

随处部署

原生支持 Cloudflare Workers,其他平台可通过 Nitro 获得,更多原生适配器已在规划中。

/2

务实兼容

而非逐 bug 对齐。目标覆盖 95% 以上的真实世界 Next.js 应用,依赖未文档化 Vercel 行为的边缘情况有意不支持。

/3

只支持最新

面向 Next.js 16.x,不支持旧版本中已废弃的 API。

/4

渐进式采用

装上插件,修掉报错,部署上线。

值得了解的替代方案

vinext

本站主角

在 Vite 上从零重新实现 Next.js API 表面

适合 · 想要更轻量的 Vite 工具链、不需要每一个 Next.js API 的应用

权衡 · 更快的构建与更小的包体,长尾特性覆盖较少

OpenNext

把 next build 的产物适配到 AWS、Cloudflare 等平台

适合 · 想要更稳妥、更经过验证的方案

权衡 · 资历更深、更成熟,覆盖的 Next.js API 面更广

Next.js 自托管

部署到任意 Node.js 服务器、Docker 容器或静态导出

适合 · 对 Next.js 工具链满意、只是想跑到 Vercel 之外

权衡 · 最简单的路径,零迁移成本

渐进式采用

装上插件,
修掉报错,部署上线。