mcpField
C
cloudflare

cloudflare

github.com/oakoss云与 DevOps2090 次安装11 周前更新
代码仓库

关于 cloudflare

面向 Cloudflare Workers 开发与运维的参考技能,帮助开发者选择边缘计算模式并使用平台 API、绑定和 Wrangler 命令,也说明限制与常见错误。

主要功能

  1. 01Worker 事件处理器模式
  2. 02KV、D1、R2 和 Durable Objects
  3. 03Pages 与静态资源部署
  4. 04Wrangler 开发和部署
  5. 05配置与机密管理

适用场景

  1. 01设计边缘优先的 API
  2. 02选择 Worker 数据存储
  3. 03配置定时或队列处理器
  4. 04排查常见部署错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill cloudflare

安装后在 Claude Code 中输入/cloudflare确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
pages.md
storage.md
workers.md
wrangler.md

详细介绍

Cloudflare

概述

Cloudflare Workers 是一个无服务器边缘计算平台,可在 Cloudflare 的全球网络上运行 JavaScript、TypeScript 和 WebAssembly。Workers 使用 ES 模块格式,并提供 fetch、scheduled 和 queue 事件处理程序,通过环境绑定访问平台服务(KV、D1、R2、Durable Objects)。

适用场景: 边缘优先的 API、低延迟全球应用、无服务器函数、使用 Pages 托管静态网站、键值缓存、边缘关系型数据,以及无需出口费用的对象存储。

不适用场景: 超出 CPU 时间限制的长时间运行计算、需要持久 TCP 连接的工作负载、需要完整 Node.js API 兼容性的应用,以及更适合使用容器的大型单体应用。

快速参考

模式API / 配置要点
Fetch 处理程序export default { fetch(request, env, ctx) }HTTP 请求的入口点
定时处理程序export default { scheduled(controller, env, ctx) }通过配置中的 [triggers] 设置 Cron 触发器
环境变量env.VAR_NAME在 wrangler.toml 或控制面板中设置
KV 读写env.KV.get(key) / env.KV.put(key, value)最终一致,值最大为 25 MiB
D1 查询env.DB.prepare(sql).bind(...params).all()边缘上的 SQLite,使用预处理语句
D1 批处理env.DB.batch([stmt1, stmt2])原子事务,一次往返
R2 上传env.BUCKET.put(key, body)兼容 S3,无出口费用
R2 下载env.BUCKET.get(key)返回包含 ReadableStream 的 R2ObjectBody
Durable Objectsenv.DO.get(id) 然后调用 stub.fetch(request)单实例有状态协调
DO 存储this.ctx.storage.sql.exec(query)建议新建 DO 使用 SQLite 后端
Pages 部署wrangler pages deploy <dir>静态内容 + Functions,自动生成路由
Worker 部署wrangler deploy从 wrangler.toml 读取配置
开发服务器wrangler dev使用绑定进行本地开发
密钥wrangler secret put SECRET_NAME加密存储,不写入 wrangler.toml
静态资源assets: { directory: "./dist" }默认无需调用 Worker 即可提供服务
工作流export class MyWorkflow extends WorkflowEntrypoint持久化的多步执行引擎
Hyperdriveenv.HYPERDRIVE.connectionString为外部 PostgreSQL 提供连接池
Queues 生产消息env.QUEUE.send(message)Worker 之间的异步消息传递
配置格式wrangler.jsonc(新项目推荐使用)带注释的 JSON;优先于 TOML

常见错误

错误正确做法
将绑定作为全局变量访问在模块格式中通过 env 参数访问
将机密存储在 wrangler.toml 中对加密值使用 wrangler secret put
使用 KV 实现强一致性使用 D1 或 Durable Objects 实现一致性读取
在 D1 查询中不绑定参数始终使用 .prepare().bind() 防止 SQL 注入
超出 KV 值大小限制(25 MiB)对于大于 25 MiB 的对象,使用 R2
忘记在存储操作中使用 awaitKV、D1、R2 方法均为异步方法
使用 fetch() 时未传入 signal传入 request.signal,以便自动取消
在 Worker 代码中创建 D1 数据库使用 wrangler d1 create 创建,并在配置中绑定
配置中缺少 compatibility_date始终设置该项,以避免发生破坏性变更
从 fetch 处理程序返回非 Response必须返回 Response 对象
在新项目中使用 wrangler.toml新项目使用 wrangler.jsonc;其 IDE 支持更好
使用 KV 执行关系查询使用 D1 执行 SQL 查询;KV 仅支持键值存储

委派

  • 架构审查:使用 Task Agent 评估边缘与源站模式
  • 代码审查:委派给 code-reviewer Agent
  • 存储选择:使用 Explore Agent 比较 KV、D1、R2 与 DO

参考资料

评论

支持 Markdown