
Cloudflare 免费动态托管对比Workers vs Pages
文章目录Cloudflare 免费动态托管对比Workers vs Pages配置WorkersPages部署WorkersPages日志自定义域名WorkersPages小结WorkersPagesCloudflare 免费动态托管对比Workers vs Pages配置Workers通过 wrangler.toml 进行配置。通过配置文件的话更加灵活,因为可以一个配置文件,部署多个 Worke
文章目录
Cloudflare 免费动态托管对比Workers vs Pages
配置
Workers
通过 wrangler.toml
进行配置。
通过配置文件的话更加灵活,因为可以一个配置文件,部署多个 Worker,就有复用可能。
同时,配合 CLI 工具,可以更灵活的本地调试。
每个 Worker 代表着一个环境,所以环境变量通用,但可以进行加密。
除了可以在配置文件中配置 KV Namespace、 Durable Object (付费版功能),还可以绑定 Zone (域名),配置路由等。
Pages
通过页面上设置配置。
环境变量分为 Preview 和 Production 两种环境,分别设置。环境变量值均为明文。
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 手动触发。
每次提交均会部署,可以访问不同的版本(长期保留,付费版本还可以设置加密预览),并且支持版本回滚。
日志
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 服务搭建。
更多推荐
所有评论(0)