SuperAPI AI 工具集

cloudflare-to-bun

部署与运维

查看项目

更新于 10-15 20:31

技能介绍

用途:协助把 Cloudflare Workers 应用迁移到 Bun,涵盖边缘运行时 API 转换、Cloudflare 绑定替换,以及从边缘部署到服务器部署的适配。

主要能力与流程:

  1. 迁移前分析:检查 wrangler 与 Bun 版本(wrangler --version、bun --version),查看 wrangler.toml 中的 compatibility_flags 与 kv_namespaces、r2_buckets、d1_databases、durable_objects 等绑定。
  2. 识别 Worker 类型:Service Worker、Module Worker、Scheduled Worker、Durable Objects、Pages Functions。
  3. 运行时 API 转换:Module Worker 的 export default { fetch } 改为 Bun.serve({ port, fetch });路由可改用 Hono(app.get、app.route、app.notFound),导出 { port, fetch: app.fetch }。
  4. 绑定替换:KV Namespace 改用 Redis 或 SQLite;R2 Bucket 改用 S3 兼容存储或文件系统;D1、Durable Objects 需替换为常规数据库等。
  5. 环境变量:wrangler.toml 的 [vars] 改为 .env 文件,代码中仍用 process.env 访问。
  6. 配置迁移:wrangler.toml 转为 package.json,脚本如 bun run --hot src/index.ts、bun build src/index.ts --outdir=dist。
  7. 定时任务:scheduled 与 crons 改为 node-cron 的 cron.schedule。
  8. 测试:Miniflare 改为 bun:test 的 describe/test/expect。
  9. 部署策略调整:从全局边缘网络改为自托管或云服务器,可用 Docker 容器化。
  10. 附带迁移清单与关键差异对比(运行时、冷启动、执行时间、存储、成本模型、扩展方式、状态管理)。

限制:资料以英文给出,未提供该技能的版本、安装方式、收费与官方支持信息;具体替换方案需结合项目实际选择,资料未保证性能或迁移结果。