您的前端、后端和数据库现在可以全部集中在一个 Cloudflare Worker 中(二)
部署到 Workers,并尽可能减少代码变更
Node.js 兼容性
我们还继续在支持 Node.js API 方面取得进展,最近增加了对 crypto、tls、net 和 dns 模块的支持。这使得依赖这些 Node.js 模块的现有应用和库能够在 Workers 上运行。我们来看一个例子:
以前,如果您尝试使用 mongodb 包,会遇到以下错误:
图1
当 mongodb 使用 node:dns 模块对一个主机名进行 DNS 查询时,会发生这种情况。即便您避免了之前的问题,在 MongoDB 尝试使用 node:tls 模块安全连接数据库时,您将会遇到另一个错误。
现在,由于 node:dns 和 node:tls 得到支持,您可以按预期使用 MongoDB。对于依赖 node:crypto 和 node:net 的库,也是如此。
此外,现在,当 nodejs_compat 兼容性标志为 on 且兼容性日期设置为 2025 年 4 月 1 日或之后, Workers 会暴露 process.env 对象的环境变量和机密 。一些类库(及开发人员)假定 process.env 对象将被填充变量,并依赖该对象进行顶层配置。若没有这一调整,类库可能会意外崩溃,开发人员不得不编写额外的逻辑来处理 Cloudflare Workers 上的变量。
现在,您可以像在 Node.js 中一样访问变量。
图2
额外的 Worker CPU 时间
我们还将每个 Worker 请求的最大 CPU 时间 从 30 秒提高到 5 分钟。这允许计算密集型操作运行更长时间而不会超时。假设您想使用新支持的 node:crypto 模块来哈希一个非常大的文件,您现在可以在 Workers 上执行此操作,而不必依赖外部计算来进行 CPU 密集型操作。
Workers Builds
我们还对 Workers Builds 进行了改进,允许您将 Git 存储库连接到您的 Worker,这样就可以对每个推送的更改进行自动构建和部署。Workers Builds 是在 Builder Day 2024 期间推出的,最初只允许您将存储库连接到现有的 Worker。现在,您可以导入存储库并立即将其作为新的 Worker 部署,从而减少了引入项目所需的设置和点击。我们大幅提升了 Workers Builds 的性能,将构建启动延迟减少了 6 秒,构建平均启动时间在 10 秒以内。利用 Smart Placement,我们还提高了 API 响应速度,将延迟降低到原来的 1/7 。
请注意:正如 Builder Day 2024 期间所宣布的那样,在 2025 年 4 月 2日, Workers Builds 已过渡到新的定价模型。Free 计划用户的构建时间上限现在为 3000 分钟, Workers Paid 订阅用户将拥有一个新的基于使用量的模型,包含 6000 分钟免费,之后每构建分钟为 0.005 美元。为了更好地支持并发构建,Paid 计划现也将获得六 (6) 个并发构建,让跨多个项目和单一代码库的工作更加轻松。有关定价的更多信息,请参阅文档 。
您还可以设置 Workers Builds 以在非生产分支上运行,预览 URL 将作为注释返回到 GitHub。
将 Images API 绑定到您的 Worker
以前,您可以通过在 Worker 中调用 fetch() 来访问图像优化功能。此方法要求原始图像必须可通过 URL 检索。然而,您可能会遇到图像无法通过 URL 访问的情况,例如在将用户上传的图像存储到您的存储系统之前需要进行压缩。通过 Images 绑定,您可以直接对图像字节流进行操作,从而实现图像优化。
要了解更多信息,请阅读我们有关在图像上传到 R2 前转换图像的指南。
立即开始构建
我们非常期待看到您将构建的成果,并将持续专注于开发新功能和改进,以便让大家能够更容易地在 Workers 平台上构建任何应用。社区反馈为我们这项工作提供了极大帮助,我们鼓励每个人加入我们的 Discord 以参与讨论。
同时,欢迎参考以下可助您快速入门的有用资源:
·框架指南
·迁移指南
·静态资产文档
·Cloudflare Vite 插件文档
Cloudflare 保护整个企业网络,帮助客户高效构建互联网规模的应用程序,加速任何网站或互联网应用程序,抵御 DDoS 攻击,防止黑客入侵,并能协助您实现 Zero Trust 的部署与实施。
从任何设备访问 1.1.1.1,使用我们的免费应用加速和保护您的互联网。
立即联系我们,获取更多相关信息http://t.cn/A6Tx4yTT
#Cloudflare#Cloudflare Workers#
