Cloudflare 免费动态托管对比Workers vs Pages

文章目录

  • Cloudflare 免费动态托管对比Workers vs Pages
    • 配置
      • Workers
      • Pages
    • 部署
      • Workers
      • Pages
    • 日志
    • 自定义域名
      • Workers
      • Pages
    • 小结
      • Workers
      • Pages

Cloudflare 免费动态托管对比Workers vs Pages

配置

Workers

通过 wrangler.toml 进行配置。

Cloudflare 免费动态托管对比Workers vs Pages_第1张图片

通过配置文件的话更加灵活,因为可以一个配置文件,部署多个 Worker,就有复用可能。

同时,配合 CLI 工具,可以更灵活的本地调试。

每个 Worker 代表着一个环境,所以环境变量通用,但可以进行加密。

Cloudflare 免费动态托管对比Workers vs Pages_第2张图片

除了可以在配置文件中配置 KV Namespace、 Durable Object (付费版功能),还可以绑定 Zone (域名),配置路由等。

Pages

通过页面上设置配置。

Cloudflare 免费动态托管对比Workers vs Pages_第3张图片

环境变量分为 Preview 和 Production 两种环境,分别设置。环境变量值均为明文。

Cloudflare 免费动态托管对比Workers vs Pages_第4张图片

Functions (即后端的 Worker 服务),可以绑定 KV Namespace 和 Durable Object(付费版)。

可以通过静态文件方式做映射配置自定义 Headers 和 Redirects (重定向)。

部署

Workers

通过 CLI 命令行工具 wrangler,同时也可以通过 CI/CD 流水线(需要额外配置)。

文档: https://developers.cloudflare.com/workers/cli-wrangler/commands#publish

Pages

通过 Push 自动触发,或者通过 Hooks 手动触发。

Cloudflare 免费动态托管对比Workers vs Pages_第5张图片

每次提交均会部署,可以访问不同的版本(长期保留,付费版本还可以设置加密预览),并且支持版本回滚。

日志

Workers 有, Pages 没有。

同时,由于 Pages 是个新产品,本地开发调试的时候并不是特别方便,很多时候我还在不停的往测试分支上提交代码,部署后查看实际的效果。部署的时间虽然挺快的,但也依然需要几分钟的等待。

自定义域名

Workers

叫路由 Routes,默认会分配 workers.dev 的域名,绑定也比较灵活。

Pages

默认分配 pages.dev 的域名, 可以绑定自定义域名。 自定义域名目前只能绑定给 Production。

还可以通过以下的方式去访问每次提交的部署:

  • ${hash}.${project}.pages.dev,如: https://efab10d3.willin-wang.pages.dev/
  • ${branch}.${project}.pages.dev,如: https://feat-i18n.willin-wang.pages.dev/

但是需要注意,不能给分支绑定自定义域名,如果需要 Beta 环境域名,则需要通过 Workers 反代的方式进行配置。

可以参考 Rocket Booster 配置反代。

小结

Workers

以前,Workers 也可以配合 KV 存储来搭建静态网站,而如今,有了更好的选择,就是 Cloudflare Pages。

适合两类产品:

  • 工具,比如反代
  • 服务,无服务器函数,包括缓存、数据库操作现在也在逐步的支持中

另外大型产品前后端分离过程中,可以使用 Workers 做很多实用的提升。

Pages

毫无疑问,适合带有前端页面的项目。同时,由于其 Functions 功能由 Workers 提供,所以能够实现产品的前后端服务。小型产品完全可以直接用 Pages 服务搭建。

你可能感兴趣的:(cloudflare,ci/cd,typescript,前端,node.js)