
Vike(一个用于构建高级 Web 应用程序的灵活框架)推出Photon,这是一个可以在任何平台上部署 JavaScript 服务器的下一代基础设施。Photon 标志着开发人员在服务器部署与集成方式上的重大转变。
Vike 团队还发布了 vike-photon,用于取代了之前的 vike-server 包。为了充分利用其增强功能,目前使用 vike-server 的开发人员应迁移至新基础设施。
按照设计,Photon 可以与任何 JavaScript 服务器框架搭配使用,包括 Hono、Express.js、Fastify、Elysia、H3、Srvx 和 Hattip,并支持部署到任何平台,无论是自托管平台、Cloudflare、Vercel 还是 Netlify。这种通用方法解决了 JavaScript 生态系统中一个长期存在的挑战,即不同的服务器框架和部署平台都需要开展定制集成工作。
Photon 的一个改进是 Cloudflare 集成。使用 @photonjs/cloudflare 时,开发环境在 Cloudflare 的 workerd 运行时内运行,而不是 Node.js。这与 Cloudflare 在生产中使用的运行时相同,使得开发环境能更真实地反映生产行为。Vike 是首批支持这一功能的框架之一,由 Vite 的 Environment API 提供支持,使 Vite 能够在 Node.js 进程中运行,同时在另一个非 Node.js 进程(如 workerd)中执行服务器代码。
这个新的基础设施还允许开发人员在开发中直接使用 Cloudflare 提供的 API,而不需要再做之前那些繁琐的 getPlatformProxy()设置。现在,开发人员可以在开发和生产环境中无缝访问键值存储、环境变量和其他 Cloudflare 功能。
除了 Cloudflare 方面的改进,Photon 还带来了几项开发体验增强。热模块替换(HMR)技术消除了开发过程中对完全重新加载服务器的需求。该基础设施支持按路由拆分代码,可将代码部署至独立的边缘工作节点。Photon 针对大多数常见场景提供了零配置集成,同时保留了高级用例的灵活性,并内置服务器供无需自行配置的项目使用。
Vike 团队将 Photon 定位为 JavaScript 生态系统中共享部署基础设施发展浪潮的一部分。该领域还有其他相关的项目,包括 Nitro 以及 Netlify 的基础设施 RFC 提案。Vike 团队表示,希望与这两个项目展开合作,并且强调,生态系统内加强协作将使各方受益。
该公告在开发社区中获得了积极的初步反馈。有开发人员在回应发布公告时评论道:“刚看完这篇文章,这听起来太棒了。”
对于从 vike-server 迁移的开发人员,这个过程涉及更新依赖项——移除 vike-server 并安装 vike-photon 以及 Vike 的最新版本(0.4.239 或更高版本)、更新配置文件——将 vike-server/config 替换为 vike-photon/config、调整服务器入口点以使用新增的 Photon 包,如 @photonjs/hono 或 @photonjs/vercel。使用 vike-cloudflare 的开发人员应该用 @photonjs/cloudflare 替换它,而那些使用 vite-plugin-vercel 的开发人员则应该切换到 @photonjs/vercel。这里提供了完整的迁移文档。
Photon 是开源的,并且是合作开发的,体现了该团队的理念,即部署基础设施应该在 JavaScript 社区中共享。虽然这些工具的长期发展仍然不确定,但 Photon 为开发人员提供了一个切实可行的解决方案,同时社区正致力于将更多功能直接整合到 Vite 及其生态系统中。
原文链接:
https://www.infoq.com/news/2025/12/photon-deployment-javascript/







评论