Cloudflare 的 Vinext 发布 1.0,一个基于 Vite 的框架,目标是让已有的 Next.js 应用脱离标准 Next.js 工具链运行,部署到任意 Web 平台。
基本情况
- vinext@1.0.0 于 9 月 28 日发布到 npm。
- 项目 2 月作为「AI 驱动开发」的实验启动,七个月后到 1.0。
- 支持 App Router、Pages Router 以及混合应用。
- 可观测性走 OpenTelemetry 和 Sentry 集成,Cloudflare Workers 是一等公民。
关键新特性:缓存预热 这一版把页面预渲染从构建机搬到了 Cloudflare 的网络上。流程是:部署时先上传一个 0% 生产流量的新 Worker 版本,把缓存填充好,再把版本提升为正式。
解决的问题很实际:一个有几十万 URL 的站点,如果在构建阶段全部预渲染,会花大量时间渲染那些几乎没人访问的长尾页面。把渲染挪到请求侧并缓存,能显著缩短构建时间。
兼容性怎么保证的 Cloudflare 说测试兼容性已经超过 99%(不含 cache components),做法是每天晚上跑一遍 Next.js 的测试套件重新生成兼容性矩阵,同时自动化审查上游 Next.js 的每日变更,发现可能影响 Vinext 的就开 issue 跟踪。
需要打折看的部分 99% 是 Cloudflare 自己的数字,且明确排除了 cache components。官方也承认对 Cache Components 背后的 use cache 指令只有「有限支持」,依赖这个指令的应用可能迁移不顺畅。
另外,来源里没有独立基准测试或第三方生产报告。
要不要试
如果你有现成的 Next.js 应用、想换部署目标(比如从 Vercel 挪到 Workers 或 Lambda),可以用 npx vinext check && npx vinext init 先做一次兼容性体检,看看命中多少。新建项目是 npm create vinext-app@latest my-app。
先体检再决定,别直接押上生产。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。