Cloudflare Workers 快速部署
这一篇完全不用写命令行,只用浏览器完成第一个 Worker 的创建和线上部署。先把成就感建立起来,后面再学工程化的开发方式。
注册 Cloudflare 账号
访问 dash.cloudflare.com 注册账号,用邮箱注册即可,选择免费计划,不需要绑定信用卡。
创建第一个 Worker
登录后按以下步骤操作
- 左侧菜单进入 Workers 和 Pages
- 点击 创建 按钮
- 选择 Hello World 模板
- 输入项目名称,例如 my-first-worker
- 点击 部署 按钮
几秒钟后部署完成,页面会显示一个网址,格式为 https://my-first-worker.你的子域.workers.dev。workers.dev 是 Cloudflare 免费提供的官方子域名,每个 Worker 都会自动获得一个,点击访问就能看到 Hello World 页面。
默认代码结构
部署完成后点击 编辑代码 进入在线编辑器,可以看到模板自带的代码
export default {
async fetch(request, env, ctx) {
return new Response("Hello World!");
},
};
这段代码是 Workers 的核心骨架,需要理解四个部分
| 部分 | 作用 |
|---|---|
export default |
导出 Worker 的入口对象,平台通过它找到你的代码 |
fetch |
请求处理函数,每次有 HTTP 请求进来都会被调用 |
request |
请求对象,包含请求方法、地址、请求头、请求体等 |
env |
环境对象,用来读取环境变量和数据库等绑定资源(后面讲) |
ctx |
上下文对象,用来控制后台任务等高级操作(后面讲) |
只要记住一件事,Workers 的编程模型就是”收到请求,返回响应”。fetch 函数负责接收请求,return new Response(...) 负责返回结果。所有复杂的业务逻辑都是围绕这两步展开的。
修改代码并重新部署
把返回内容改一下,体验代码更新的完整流程
export default {
async fetch(request, env, ctx) {
return new Response("Hello Cloudflare!");
},
};
点击右上角 保存并部署,稍等片刻重新打开之前的网址,页面内容就变成了 Hello Cloudflare。
验证线上运行效果
在浏览器地址栏多访问几个路径试试,例如 https://my-first-worker.你的子域.workers.dev/任意路径,你会发现无论访问什么路径,返回的都是同一段文字。这是因为代码没有做任何路径判断,这就是后续路由章节要解决的问题。
仪表盘的能力边界
在线编辑器适合快速改小东西,但工程化开发有它的明显短板
| 场景 | 仪表盘在线编辑器 | 命令行工具 Wrangler |
|---|---|---|
| 快速改几行代码 | 方便 | 稍繁琐 |
| 大型项目开发 | 不方便 | 方便 |
| 本地调试 | 不支持 | 支持 |
| 管理数据库和密钥 | 部分支持 | 全面支持 |
| 多人协作与版本管理 | 不方便 | 配合 Git 使用 |
真实项目几乎都使用命令行工具开发,仪表盘只用来做线上配置。下一篇开始搭建本地开发环境,把 Wrangler 用起来。