VoidZero 是 Vite、Vitest、Rolldown、Oxc 和 Vite+ 背后的公司,现在正式加入 Cloudflare。作为这次变动的一部分,VoidZero 的全体团队成员也将一同加入 Cloudflare。
在说其他内容之前,我们想先把最重要的一点讲清楚:Vite、Vitest、Rolldown、Oxc 和 Vite+ 将继续保持开源、厂商中立、由社区驱动。这一点不会有任何改变。
Cloudflare 的使命是帮助构建更好的互联网,而更好的互联网必然是开放的互联网。开发者需要选择权,框架需要中立的基础,应用需要可移植。指望整个 Web 生态都围绕某一家厂商来构建,是不合理的。最重要的工具和框架,从设计上就应当是可移植的。
Vite 是整个 JavaScript 生态少数几个达成共识的基础工具之一。它能获得这样的地位,靠的是快速、出色、可移植和厂商中立。Cloudflare 帮助构建更好互联网的最佳方式之一,就是投入这套基础的开源工具链。这套工具链让互联网对所有人都变得更好,而不只是对使用 Cloudflare 或选择在我们这里托管的人。
过去几年,我们投入大量精力,让 Cloudflare 成为在开发者平台上构建和运行网站、应用与智能体的最佳场所。但归根结底,选择权永远在你手里。你可以把 Vite 应用运行在任何你想要的地方。
这对 Vite 意味着什么
今天的消息会为 Vite 提供更多资源,让它继续成长,而 Vite 之所以成为 Vite 的那些特质保持不变:
- Vite 仍然采用 MIT 许可证并保持开源。
- Vite 仍然与厂商无关。用 Vite 构建的应用可以在任何地方运行,今后也将如此。
- Vite 的路线图仍由更广泛的 Vite 团队和社区主导,并继续公开开发。
- Evan 和 VoidZero 团队的其他成员将继续领导 Vite、Vitest、Rolldown、Oxc 和 Vite+。
- Cloudflare 是向这些项目投入工程力量和资源,而不是改变它们的方向。
今年早些时候 Astro 加入 Cloudflare 时,我们也做出了同样的承诺。Astro 依然开源,依然可以部署到任何地方,团队也依然在按原有路线图持续交付。
对 Vite 来说,这一承诺更加重要,因为 Vite 不是某一个框架,而是众多框架的底层基础:Vue、SvelteKit、Nuxt、Astro、Solid、Qwik、Angular、React Router、TanStack Start。就连 Next.js 现在也在 vinext 中有了基于 Vite 的实现。Vite 已经成为 JavaScript 生态共同的基础。
我们的头号目标,是维护让 Vite 获得如此广泛采用的那份信任。靠的不是我们在这里说的话,而是每天在如何支持和开发这些项目上用行动证明。
在支持开源和共享生态基础设施这件事上,我们也愿意拿出真金白银。作为这次公告的一部分,Cloudflare 承诺出资 100 万美元设立 Vite 生态基金,用于支持维护者和贡献者,由 Vite 核心团队负责管理。Vite 比 VoidZero 和 Cloudflare 都更大,帮助构建它的人也应当参与接下来的发展。
以 Vite 为基础
Vite 与 Cloudflare 两个团队在这次公告之前就已合作良好,始于 2024 年的 Vite Environment API。Environment API 让 Vite 在开发期间可以在 Node.js 之外的环境中运行服务端代码。我们与 Vite 团队密切合作设计了它,随后在其之上构建了 Cloudflare Vite 插件。
当你搭配 Cloudflare 插件运行 vite dev 时,服务端代码会在 workerd 中运行,这正是在生产环境中驱动 Workers 的同一个开源运行时。Durable Objects、D1、KV、R2、Workflows、Workers AI、Agents、Service Bindings、Workers RPC,所有这些都在与生产环境相同的运行时模型中本地运行。
长期以来,在非 Node 运行时上开发的代价是:本地开发体验像是生产环境的劣化版本。Environment API 消除了这一代价,而且无需任何人采用 Cloudflare 专属的开发服务器。任何想接入 Vite 的运行时都可以用同样的方式做到。这种设计,即 Vite 提供通用机制、各提供商给出各自的实现,已被证明行之有效,也是我们希望继续深耕的方向。
当我们看到 Cloudflare Vite 插件的采用量迅速攀升时,就知道我们走对了路:

Vite 的采用曲线是目前生态中最引人注目的现象之一。截至本文撰写时,Vite 的周下载量约为 1.29 亿次。Cloudflare Vite 插件(@cloudflare/vite-plugin)的周下载量接近 1400 万次。
如果一年前有人告诉我们,Cloudflare Vite 插件的下载量会达到 Vite 本身的 10% 以上,我们是不会相信的。发生了什么?AI 来了。现在创造的软件比以往任何时候都多,其中很多都始于 AI 生成的代码。这些应用需要一套默认技术栈和一个运行的地方。由智能体编写的应用正在选择 Vite,而且越来越多地选择运行在 Cloudflare 上的 Vite。
AI 正在改变我们编写软件的方式
过去,开发服务器、打包器、代码检查器、格式化工具和命令行工具的用户只有开发者。如今情况不同了:智能体也在不断地使用它们。它们搭建项目脚手架、运行开发服务器、阅读报错、编写测试、对代码做检查和格式化、部署预览版本,并反复迭代。
许多 AI 生成的应用一开始就是 Vite 应用,因为 Vite 速度快、广为人知,并且与智能体在训练数据中见过的内容广泛兼容。快速的反馈循环一直很重要,在用智能体编写软件时则变得更加关键:
- 构建要快,因为智能体的迭代次数比人多。
- 测试要快,因为它们会不断重新运行整套测试来验证自己的工作。
- 代码检查和格式化要快,因为这些工具会成为护栏。
- 报错要清晰、结构化,因为智能体必须读懂并据此行动。
- 命令行工具要保持一致,因为细小的不一致会造成大的弯路。
整个 VoidZero 工具链正是为这种循环而打造的。Vitest、Rolldown、Oxc、Oxlint 和 Oxfmt 各自都是所在类别中最快的工具之一,被智能体反复运行时依然表现出色。Vite+ 将这些部件整合为一套工具链:一个 CLI、一套配置模型、更少的活动部件。这让开发循环更容易被人理解,也更容易被智能体可靠地驱动。
我们自己也在内部实践。Cloudflare 控制台就是基于 Vite 构建的。Oxlint 已经在 Cloudflare 的代码库中节省了数天的工程时间。来自 Astro 团队的智能体框架 Flue 也正在迁移到以 Vite 为基础。Flue 可以在 Node.js、Cloudflare Workers、GitHub Actions、GitLab CI/CD 等环境中运行智能体,其 Cloudflare 目标现在使用官方的 Cloudflare Vite 插件和 workerd 集成。在 Cloudflare 内部,Vite 也正在成为默认的应用基础。
Vite 正在走向全栈
几年前,构建工具的职责很简单:接收源文件,生成产物包,然后交付出去。对现代应用来说,这已经不够了,尤其是在其中一些应用本身就是智能体的当下。
现代应用包括服务端渲染的路由、API、后台任务、队列、数据库、对象存储、实时通信、身份认证,以及越来越多的智能体和 AI 能力。“构建”不再是故事的终点,而是一次部署的起点,这次部署必须理解所有这些部分。
这意味着 Vite 必须不止是一个构建工具。它需要理解应用的更多部分,同时坚守当初让 Vite 成功的东西:速度、简洁和可移植性。
Void 是一个专为 Vite 设计的部署平台,也是检验这些想法的另一块试验田。它帮助我们探索:现代应用框架应当负责哪些事,部署应该是什么感觉,以及整个应用生命周期能有多少环节围绕一套工具链统一起来。我们从中学到了很多。
现在要做的,是把这些经验放到合适的位置。有些属于 Vite 本身,作为与提供商无关的原语:面向后端、API、智能体和部署的一等抽象与钩子,任何提供商都可以实现。另一些则属于 Cloudflare 内部。Cloudflare 将在 Workers 及我们开发者平台的其余部分上,为这些钩子提供一等实现。
尽管部分 Vite 维护者将加入 Cloudflare,对 Vite 本身的改动仍将与其他任何 Vite 贡献一样,走同样的开放贡献流程。加入 Vite 本身的功能不应是 Cloudflare 专属的,它们将在 Vite 能运行的任何地方生效。
让 Cloudflare 向 Vite 靠拢
同样的原则也塑造了我们对 Cloudflare 自身工具未来的思考。我们不是把 Vite 推向 Cloudflare 的方向,而是反其道而行:把 Cloudflare 的应用工具迁移到 Vite 之上,让它建立在开发者已经熟悉的工作流之上。
我们最近发布了 cf 的技术预览版,这是一个面向整个 Cloudflare 平台的全新统一 CLI。Vite 将成为我们面向应用的 CLI 体验的基础。最终目标是为整个 Cloudflare 提供一个一致的 CLI,无论你是在使用 Workers、R2、D1、Agents 还是其他任何产品,都拥有相同的使用体验。
如果我们做得对,Cloudflare CLI 用起来应该像 Vite,而不是硬生生贴在 Vite 旁边的另一个东西。
cf dev应当是vite dev的超集:同样的速度、同样的热模块替换、同样的插件模型,外加你需要时可用的 Cloudflare 运行时和绑定。cf build应当原生理解 Vite 项目,无需绕来绕去地配适配器。cf deploy应当让把 Vite 应用部署到 Cloudflare 变得简单。
如果你今天在使用 Vite,通往 Cloudflare 的路径会像是换用一套你已经熟悉的命令的超集。同样的项目结构,同样的 Vite 工作流,需要时即可使用整个 Cloudflare 开发者平台。
接下来会发生什么
短期内,对 Vite 用户以及基于 Vite 构建的框架来说,一切照旧:
- Vite、Vitest、Rolldown、Oxc 和 Vite+ 继续发布新版本。VoidZero 团队继续为它们贡献代码并担任领导。
- Cloudflare Vite 插件持续改进。
- Environment API,以及“在本地用正确的运行时运行服务端代码”这一更大的愿景,会不断变得更好,包括对非 Cloudflare 运行时。
长期来看:
- 我们将开始着手让 Cloudflare CLI 转向直接构建在 Vite 之上的体验。
- Vite 将获得全新、干净、与提供商无关的原语,面向全栈应用和智能体,适用于任何平台上的所有人。
- 随着时间推移,我们打算开源 Void 平台,让其他人可以从中学习,并在 Vite 和 Cloudflare 之上构建自己的平台。
这一切我们都将公开进行,并与社区一起完成,就像 Vite 一直以来的构建方式那样。
欢迎 VoidZero
Vite、Vitest、Rolldown、Oxc 和 Vite+ 之所以存在,是因为一个庞大的开源贡献者生态为之投入了多年心血。这些项目已经成为 Web 构建方式的基石,我们感谢每一位帮助它们走到今天的人。感谢一路以来贡献代码、评审、提交 issue、撰写文档、开发插件、做集成和提供支持的每一个人。
我们很高兴欢迎 VoidZero 团队加入 Cloudflare,也很高兴能为这些项目投入更多资源。我们现在的任务,是帮助它们成长、保持开放,并为所有人驱动 JavaScript 生态。
Vite 依然是 Vite,Cloudflare 则可以出一份力。
如果你想现在就在 Cloudflare 上试用 Vite,请运行:
npm create vite@latest
npx wrangler deploy
